Java 出现“Illegal key size”错误的解决方案
用AES加密时出现"java.security.InvalidKeyException: Illegal key size"异常。
如果密钥大于128, 会抛出上述异常。因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件,文件位于/jre/lib/security下, 这种限制是因为美国对软件出口的控制。
解决办法也很简单:
将下面链接中的jar包下载下来,替换jdk 与jre下两个jar包:local_policy.jar和US_export_policy.jar即可。
- jdk对应jar包的路径:D:\Java\jdk1.7.0_25\jre\lib\security
- jre对应jar包的路径:D:\Java\jre7\lib\security