解决Des3加密不同平台加密结果不一致的问题

image.png

记录一次Des3不同平台加密,加密结果不一致的问题。

由于服务端在Des3加密过程中使用了SecureRandom对key值进行了处理,然后生成密钥,Android端使用完全一样的方法离奇的发现每次加密的结果(随机)和服务端(固定)都不一致。

差不多研究了两个晚上,终于找到了原因,SecureRandom 类在不同环境底层算法上实现是不一样的。本来想用反射修改的数据的,后面发现他的实现类也可以解决这个问题,就直接把后端运行的数据拿来,模拟出一个固定key。这样只要key不换新的,Android和后端加密结果就一样了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容