app客户端与服务器数据交互时—数据加密

2023-10-29

总结

(1)、对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高

(2)、非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。

(3)、解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

 

 

虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加

密的方式发送出去。为了解释这个过程,请看下面的例子:

 

(1)、APP客户端需要和服务器进行数据交互,它的APP首先生成了一个随机数作为对称密钥(比如AES加密的密钥)。

 

(2)、APP客户端向服务器请求公钥

 

(3)、服务器将公钥发送给APP客户端

 

(4)、APP客户端使用服务器的公钥将自己的对称密钥(比如AES加密的密钥)加密

 

(5)、APP客户端将加密后的对称密钥发送给服务器

 

(6)、服务器使用私钥解密得到APP客户端的对称密钥

 

(7)、APP客户端与服务器可以使用对称密钥来对沟通的内容进行加密与解密了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

app客户端与服务器数据交互时—数据加密 的相关文章

  • 1.8新特性——Stream流

    Stream 在Java1 8中 由于lambda表达式这种函数式编程 JDK引入了一个新概念stream流 用于解决已有集合类库的一些弊端 代码如下 public class Test10 public static void main

随机推荐

  • 逻辑学学习.4--- 命题逻辑(二):符号化

    一 命题的符号化 用人为规定的符号表示一个命题 命题举例 你干这些工作或者我干这项工作 J表示 你干这项工作 K表示 我干这项工作 或者 是联结词 表示合取 用 表示 符号化 J K 命题常项 用大写字母A到Z表示 命题常项表示命题的缩写
  • 基于elementUi,下拉分页组件封装

    文章目录 一 说明 二 组件封装 1 组件 PaginationSelect vue 代码 2 属性 3 事件 方法 三 组件引入 使用 注意 一 说明 虽然elementUi提供了丰富的组件 但是有些业务场景下 需要自己再封装适合自己的业
  • TensorFlow2.0学习笔记-5.数据构建

    5 数据构建 tf data简介 面对一堆格式不一的原始数据文件 读入程序的过程往往十分繁琐 运行的效率上不尽如人意 T e n so r F l ow 提供了 tf data 这一模块 包括了一套灵活的数据集构建 API 能够帮助我们快速
  • 学了 Python 能用来做什么?

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 说起编程语言 Python 也许不是使用最广的 但一定是现在被谈论最多的 随着近年大数据 人工智能的兴起 Python 越来越多的出现在人们的视野中 那么人们在谈论 Pyt
  • 【自然语言处理】GPT 系列讲解

    有任何的书写错误 排版错误 概念错误等 希望大家包含指正 在阅读本篇之前建议先学习 自然语言处理 Seq2Seq 讲解 自然语言处理 Attention 讲解 自然语言处理 ELMo 讲解 自然语言处理 Transformer 讲解 GPT
  • Jupyter 配置工作目录与虚拟环境解释器

    目录 一 Jupyter 配置工作目录 第一步 首先 我们输入jupyter notebook generate config会生成一个jupyter notebook config py 第二步 我们打开这个文件 搜索c Notebook
  • 排序【常见的七大排序详解】

    全文目录 排序的概念 排序的概念 内外排序 常见排序算法 稳定性 插入排序 算法思想 实现 特性总结 希尔排序 算法思想 实现 特性总结 选择排序 算法思想 实现 特性总结 冒泡排序 算法思想 实现 特性总结 堆排序 算法思想 实现 特性总
  • 用JavaScript去找出一个数组里的所有素数(质数)

    var x 定义一个变量x r arr 定义一个空数组 for x 1 x lt 100 x arr push x 把1 100依次放到数组arr中 function get primes arr return arr filter fun
  • oracle获取rowid,Oracle中的ROWID实现

    一直以来 Oracle的发展是如火如荼 依然非常成熟 无论是行业的人员和资料的丰富程度 对于数据库的体系结构的内容 下面这张图我估计很多DBA都快看吐了 每次一提起体系结构 总是会看到这张图 而看着10年前的图 发现依旧能讲出不少的东西 很
  • Eclipse导入新的项目并成功运行

    1 检查 setting 下的一个文件 检查里边的配置和自己的是否一致 2 右键file选择import导入 2 1 选择如图 next 2 2 继续 finish 3 右键项目选择 buildpath gt configure build
  • MySQL8.0.32的安装与配置(最详细)

    目录 一 下载 打开 MySQL官网 点击打开 依次按照 P1 P4 进行下载 二 下载解压 配置初始化文件mysql ini 新建data文件夹 解压之后 解压后把文件放在C盘以外的盘 的文件里边是没有data文件的 需要 创建一个空文件
  • 【机器学习】用可视化的方式直观理解Bayesian models

    如果你感觉Bayesian models反直觉 不好理解 本期分享两个工具 利用可视化的直观方式探索贝叶斯模型 1 Python ArviZ 主要包含以下4方面功能 后验分析 posterior analysis 数据存储 data sto
  • 几款免费PDF合并成一个PDF的软件推荐,快收藏起来吧

    工作中 我们经常需要接收文件 而由于PDF文件具有较高的稳定性 所以它也成为人们发送文件的热门选择 而当需要发的PDF文件比较多时 一个个发送对方接收起来不方便也容易混乱 这时 我们将多个PDF文件合并成一个PDF文件就高效很多了 那么 P
  • umi Mock数据

    1 在mock文件夹下创建文件 export default GET api users users 1 2 api users 1 id 1 GET可忽略 POST api users create req res gt 和express
  • 如何确保网站的安全性

    大部分企业通过网站平台来进行信息发布 交流及宣传 推广企业业务 用户可以通过网站对企业进行初步的了解 并进一步获取咨询服务 企业网站不光是一个展示企业形象的平台 更是一种有效的营销方式 当然其安全性也是至关重要 随着网站的普遍应用 企业网站
  • 基于 STM32CubeMX 添加 RT-Thread 操作系统组件(四)- 多线程SRAM动态内存

    概述 本篇主要介绍这么使用STM32CubeMx工具添加RT Thread操作系统组件 码代码的IDE是keil 介绍单线程SRAM静态内存使用 如果还不知道 这么使用STM32CubeMx工具添加RT Thread操作系统组件 请移步到
  • PageRank算法 -- 从原理到实现

    本文整理自博文PageRank算法 从原理到实现 1 算法来源 这个要从搜索引擎的发展讲起 最早的搜索引擎采用的是 分类目录1的方法 即通过人工进行网页分类并整理出高质量的网站 那时 Yahoo 和国内的 hao123 就是使用的这种方法
  • Android学习笔记(五)--(可调节)模糊效果

    很多时候点开一个button的时候或者弹出某个提示的时候 背景都会变成模糊的或者说是虚化的 而今天 我们就来实现一下动态模糊效果 可以通过控制条或者手势来操控模糊程度 之前自己也做了一个 但是发现会有卡顿 在论坛逛了一会儿就发现果然有一个巧
  • 我的2020工作与学习总结

    我的2020总结 今天是2020年12月30日 马上就要开始新的一年了 在出差途中简单做个总结 总结我2020这平凡而又充实的一年 学习和生活方面 回忆起我去年做的总结我的2019 这两年都是收获满满 我19年大学毕业 其实目前我已经工作两
  • app客户端与服务器数据交互时—数据加密

    总结 1 对称加密加密与解密使用的是同样的密钥 所以速度快 但由于需要将密钥在网络传输 所以安全性不高 2 非对称加密使用了一对密钥 公钥与私钥 所以安全性高 但加密与解密速度慢 3 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密