最近开始搭建服务器框架,在数据交互的时候看了下各种加密方式,复杂点的看到了这个RSA+AES
简单讲,如果是一般游戏,使用这个太大材小用,并且在高频率交互的情况下,加密解密也会影响性能
我大概整理了个流程:
1.服务端生成RSA 公钥与私钥
私钥给服务端使用
公钥给客户端使用
2.客户端在每次请求时做如下操作:
生成AES密钥
使用AES密钥对发送数据进行加密 得到encodedData
使用RSA公钥对AES密钥进行加密 得到encodedAESKey
将encodedAESKey作为请求头参数 将encryptData作为请求体发给服务器
3.服务端在每次收到请求时做如下操作:
通过RSA私钥解密encodedAESKey得到 AESKey
使用AESKey解密encodedData的到明文数据 然后TODO...
返回的时候可以使用客户端的AESKey进行客户端的加密流程去处理
我这边尽量不做过多解释,只说一些实用的东西和精髓
后面如果我要使用用这种方式的话,会上传整体代码
具体加密原理可以看他的博客