IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 仿照https原理 使用rsa aes混合加密 前后端分离下,接口传输的安全,数据加密。 -> 正文阅读

[网络协议]仿照https原理 使用rsa aes混合加密 前后端分离下,接口传输的安全,数据加密。

为什么需要加密

前后端分离之后,页面独立,接口单独返回所需数据,某些开放接口,比如登录,无登录视频播放,评论,多媒体资源等,很容易被第三方调用,爬虫获取。鉴权的接口也有可能正常用户调用接口修改个人某些数据。

https不是加密过了吗,怎么还加密?

抓个包看,浏览器控制台请求参数仍然是明文,https加密是在应用层和传输层之间,应用层就是浏览器客户端,请求发出之后帮你加密,到传输层的时候是安全的。但是浏览器客户端这里仍然能看见,并不安全。

为什么要混合加密?直接用rsa非对称加密不就行了吗

rsa加密内容长度不能过长,我们请求的参数可能会非常的长,aes对称加密速度快,长度长,很适合用来加密请求返回参数。

了解https原理

很容易看出来,服务端保存rsa私钥,客户端保存rsa公钥,客户端生成随机的key并用rsa公钥加密传递给服务端,这样服务端就能通过rsa私钥解密知道客户端的key。后续即可用这个key进行加密传输。
在这里插入图片描述

模拟https 用rsa和aes混合加密

和上图原理一样,只是在生成随机key的时候,每次都随机生成一个aes。后续前后端用aes进行加密解密。
在这里插入图片描述

其他问题。

Q1:前端代码暴露,用户直接断点调试找到对应代码就能知道请求参数是什么了。

前端代码压缩,加密,混淆。

Q2:前端代码暴露,调试直接能知道这次传递的aes是什么,直接解密。

确实,但是每次请求aes都是新生成的,前端代码加密混淆压缩后,也很难知道生成aes的逻辑。所以即使能知道这次传递的数据是什么,但是也无法进行伪造和爬虫解密破解资源。

防不胜防

网络安全是个大问题,并不是上述那么简单就能完全避免的。但是能增加破解难度。当你的价值不值得别人花费功夫去破解的时候,就自然会放弃。但是就有人要费事搞你。。。那能怎么办嘛。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-17 12:19:05  更:2021-10-17 12:19:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:39:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码