一种客户端和后台的通信加密方式

1、通过openssl产生RSA公钥和私钥文件;
2、将公钥存放在移动端;通过字符串的方式。服务端同时拥有公钥和私钥;
3、移动端产生一个随机字符串A(128位),作为AES加密的key;将报文json进行AES加密;
4、服务端并不知道A,因此需要将A传给服务器,否则服务端无法通过AES对JSON报文进行解密。但如果直接发送,A就会暴露,所以对A进行不可逆的RSA加密;
5、移动端发送AES加密后的报文,和RSA加密后的A,发送到服务端;
6、服务端接收到AES加密的报文和RSA加密后的A;
7、服务端利用私钥对加密后的A进行解密,得到key;
8、利用该key对报文密文进行解密,得到原始密文;
9、服务端进行业务处理;
10、服务端利用A对报文进行AES加密并返回;
11、移动端用自己生成的随机字符串A对报文进行解密。

你可能感兴趣的:(一种客户端和后台的通信加密方式)