解决linux服务器下AES解密异常、相同内容每次加密结果都不同
现象描述
windows下加解密正常,部署linux服务器后解密抛出异常
javax.crypto.BadPaddingException: Given final block not properly padded
相同文本, linux下每次AES加密结果都不同
解决办法
private static SecretKeySpec getSecretKey(final String key) throws NoSuchAlgorithmException {
// 返回生成指定算法密钥生成器的 KeyGenerator 对象
KeyGenerator kg = KeyGenerator.getInstance(KEY_ALGORITHM);
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(key.getBytes());
kg.init(128, secureRandom);
SecretKey secretKey = kg.generateKey();
return new SecretKeySpec(secretKey.getEncoded(), KEY_ALGORITHM);// 转换为AES专用密钥
}
如果觉得文章对您有用,请点下推荐。您的支持将鼓励我继续创作!