了解此方案原理前,先了解下AES算法和RSA算法的差异
AES+RSA算法
AES 算法
AES 算法是一种对称加密算法,也就是加解密的密钥相同
特点
:
解密速度快,适合大批量数据解密
RAS 算法
RSA 算法是一种非对称加密算法,加密密钥(公钥)和解密密钥(私钥)不同, 把公钥发送给需要加密的客户端,私钥只有自己才存有,这样就保证了私钥安全,加密后的数据只有私钥拥有方才能解密.
特点
:
解密速度较慢,适合少量数据解密
AES + RAS 加解密接口参数
c端(h5/app)
- c端随机生成 aesKey
aesKey = random()
- ASE算法加密参数
cipher_text = AES(aseKey,参数)
- RSA算法,使用RSA公钥加密 aesKey
cipher_key = RSA(rsaPublickKey,aseKey)
- 4.加密后的密钥/参数 发送至服务端
cipher_text + cipher_key
server端
- RAS私钥解密
cipher_key
得出 aesKey
- RAS私钥解密
aesKey = RAS(rasPrivateKey, cipher_key)
- 2.使用aseKey解密 cipher_text 得出参数
参数 =AES(aseKey, cipher_text)
网友评论