Java调用AES-256加密报错:Illegal key size or default parameters
AES加密算法是128位的对称分组密码算法,按JDK的帮助手册描述是可以支持128bits, 192bits, 256bits 等长度的密钥调用,但最近使用Java调用AES_256加解密运算时报错:
java.security.InvalidKeyException: Illegal key size or default parameters
最终弄清原因是默认安装的JDK中限制了某些高强度密码算法的使用(如AES-256),根据现在Oracle的说明,是出于部分地区的政策约束导致有此限制,原文链接。
好在Oracle官方提供了办法来解除此限制:只需在官网下载解锁的jar包替换JDK安装目录下的对应文件即可。
需替换的位置在 ${java.home}/jre/lib/security/
附各版本解锁库下载链接:
历史版本(低于1.7)
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8
附Oracle官方手册链接(1.5):
Java Cryptography Architecture Standard Algorithm Name Documentation
版权声明:本文为博主原创文章,转载请注明出处。
733 对 “Java调用AES-256加密报错:Illegal key size or default parameters”的想法;