解决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专用密钥
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM