利用RSA+AES 前后端对数据进行加密处理 -- 整体思路
- 前言
- RSA加密算法
-
- AES加密算法
-
- RSA+AES 整体流程
前言
目前项目中需要对接口中的一些参数进行加密处理,考虑了许久选择了RSA+AES 这两种加密算法公用的方式进行处理。
RSA加密算法
RSA简介
RSA加密算法是一种非对称加密算法,密钥为一对公钥和私钥组成。通常把公钥发送给使用方,私钥由接收方自己保存。
优点是解决了对称加密算法如何保存密钥的问题。
使用方法:
- 使用公钥加密的数据,利用私钥进行解密
- 使用私钥加密的数据,利用公钥进行解密
RSA缺点
由于RSA算法的原理都是大数计算,使得RSA最快的情况也比对称加密算法慢上好几倍。速度一直是RSA的缺陷,一般来说RSA只用于小数据的加密.RSA的速度是对应同样安全级别的对称加密算法的1/1000左右。
AES加密算法
AES简介
AES加密算法是一种对称加密算法,加密与解密的密钥是相同的。优点是比一般的非对称加密算法速度要快。
AES缺点
由于加密与解密的密钥是相同的,如果前后端利用AES进行加密的话,如何保存密钥成了一个非常头疼的问题。
RSA+AES 整体流程
- 服务端生成RSA 一对公私钥,并把公钥发送给前端。
- 前端随机生成AES的密钥,并通过RSA的公钥进行加密生成密文。
- 前端通过AES对接口数据进行加密,并将通过RSA的公钥进行加密生成密文通过head或者当初参数传输到后台。
- 后台通过私钥对密文进行解密获取AES的密钥,之后用AES的密钥对参数进行解密。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)