java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法

Posted yaks

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法相关的知识,希望对你有一定的参考价值。

 报错信息:

Caused by: java.security.InvalidKeyException: Illegal key size or default parameters

问题原因:

Java几乎各种常用加密算法都能找到对应的实现。因为美国的出口限制,Sun通过权限文件(local_policy.jar、US_export_policy.jar)做了相应限制。因此存在一些问题:
●密钥长度上不能满足需求(如:java.security.InvalidKeyException: Illegal key size or default parameters);
●部分算法未能支持,如MD4、SHA-224等算法;
●API使用起来还不是很方便;一些常用的进制转换辅助工具未能提供,如Base64编码转换、十六进制编码转换等工具。
Oracle在其官方网站上提供了无政策限制权限文件(Unlimited Strength Jurisdiction Policy Files),我们只需要将其部署在JRE环境中,就可以解决限制问题。

解决方法:

http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters

JDK8 jar包下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

JDK7 jar包下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

 

JDK6 jar包下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

 

把里面的两个jar包:local_policy.jar 和 US_export_policy.jar 替换掉原来jdk安装目录C:\Program Files\Java\jre6\lib\security 下的两个jar包接可以了

 

以上是关于java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

aes加解密 Illegal key size

异常: java.security.InvalidKeyException: Illegal key size

Java中基于AES-256密码的加密/解密

Java# 256位密钥加密错误,java.security.InvalidKeyException:Illegal key size错误

java.security.InvalidKeyException Illegal key size

Java实现AES加密,异常java.security.InvalidKeyException: Illegal key size 的解决