大佬教程收集整理的这篇文章主要介绍了在Android和Java中加密/解密字符串不同的值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这只是我的猜测,但我认为原因是您的关键推导。我不是真正的Java开发人员,因此我可能无法正确理解代码。
加密和解密时,此代码始终调用getRawKey()。getRawKey()看起来像需要一个称为种子或您的共享机密的东西,并用它来计算新的随机密钥来进行实际的加密/解密。
SecureRandom sr = SecureRandom.geTinstance("SHA1PRNG");
sr.setSeed(seed);
kgen.init(128, sr); // 192 and 256 bits may not be available
SecretKey skey = kgen.generateKey();
根据在这里找到的Java文档,setSeed()“对这个随机对象进行加密。 现有的种子。”
我的猜测是,RNG的初始状态在每个系统/平台上都不同,因此可以为您提供不同的结果。您应该将密钥派生修正为更标准,更一致的内容,或者使用已经建立的加密系统,例如Bouncy Castle库中的PGP。
@H_696_0@解决方法以上是大佬教程为你收集整理的在Android和Java中加密/解密字符串不同的值全部内容,希望文章能够帮你解决在Android和Java中加密/解密字符串不同的值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。