现象描述:
在 windows 操作系统下加解密正常,但部署到 linux 环境中相同的输入加密结果不正确,并且每次运行返回的结果都不同。
修改后的代码:
KeyGenerator kgen = KeyGenerator.getInstance("AES");
//需手动指定 SecureRandom 随机数生成规则
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
本文探讨了AES加密在Linux下出现的问题,即每次加密结果不同。问题源于Linux环境中SecureRandom的默认行为。解决方案是手动指定SHA1PRNG随机数生成规则,并在加密和解密过程中使用相同的初始化向量,确保结果可预测。同时,介绍了SecureRandom类在Java安全中的作用和使用方法。
现象描述:
在 windows 操作系统下加解密正常,但部署到 linux 环境中相同的输入加密结果不正确,并且每次运行返回的结果都不同。
修改后的代码:
KeyGenerator kgen = KeyGenerator.getInstance("AES");
//需手动指定 SecureRandom 随机数生成规则
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
1362

被折叠的 条评论
为什么被折叠?