以提高数据安全性为目的,通过插件话、动态话思想,实现客户端的数据加密。
主要功能:
- 请求参数有效性校验
- 请求唯一性校验
- 字符串加密及解密
- 加密策略动态更新
普通加密策略的问题#
- java 代码,实现请求加密,容易被破解,破解后可以一直使用。
- 通过 so 库进行加密:so 库可能被破解者引入非法工程使用。
动态方案#
- 加密 SDK 插件化,实现算法动态添加、更新和删除
- 算法本身根据时间因子动态变化
时间因子方案:按照当前时间生成一个key作为密钥(类似 google auth),后台也使用同样算法生成key,10s内的key都认为是有效的。