客户端加密机制

在做开发的过程中,数据安全一直是重中之重。不管你是做在线商城、网络支付还是商品推送,客户和金额等敏感信息的安全问题一定要考虑到。

其实在客户端主要做的是数据的可见性,主要的安全问题还是放在服务端,毕竟所有的数据都是在服务端,服务端收到数据还会进行校验,还要看是否是重放攻击等。

而客户端要做的 无非是 防止反编译和传输数据加密。防止反编译最常用的就是代码混淆,当然还有好几种其他的方式可以一同使用(例如:结构混淆)。

传输机密这个做的就比较多了,一般的都会做传输数据加密。有的公司做的app不存在敏感信息,有时候不用加密,只用post get 方式也是可以的。我之前的加密是用的DES 和RSA 加密方式。先生成一个DESKey 然后 用RSA公钥加密DESKey,然后用DESKey 加密数据,最后将加密后的数据和加密后的DESKey一同传输到后台,后台先用RSA私钥解密DESKey 然后用解密后的DESKey解密数据。这是整个加解密过程后来,因为后台解密速度达不到要求(后台解密压力太大,因为RSA解密太耗时。客户端可能没什么感觉,但是服务端在相同的时间可能并发很多解密,所以对服务端压力很大),所以进行了改进。先和服务端交换DESKey(先将加密后的DESKey传输到后台),返回交换成功后,在将用DESKey加密的数据传输到后台。这样做服务端可以用传输间隙进行解密,适当的缓解服务端压力。
再后来,我们做的换了加密方式,使用加密机。加密方式使用AES 和 RSA 加密,先生成16位的AESKey,然后用生成的AESKey加密数据,RSA公钥加密AESKey,然后算出加密后AESKey长度,将长度做成6位的16进值数,加密后的数据同理,最后拼接成一串字符串,将字符串传输到后台。
AES和DES加密都是对称加密,RSA是非对称加密,至于AES和DES的区别,可以自己去查一下。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值