问题
在PC下面使用之前的AES-256-CBC加密解密代码时,发现初始化key时,报java.security.InvalidKeyException: Illegal key size错误。
解决方法
1.修改java.security文件
在JRE目录%JRE_HOME%\lib\security下,编辑文件java.security:
默认情况下,应该能找到一条注释掉的行:
#crypto.policy=unlimited
可以通过取消注释该行来启用无限制,删除#:
crypto.policy=unlimited
重新启动应用程序即可。
2.JCE无限制权限策略文件替换
到官方下载JCE无限制权限策略文件。
jdk6的下载地址:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR
jdk6的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
JDK7的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK8的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。
将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件。
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。
本文介绍了解决在使用AES-256-CBC加密解密时遇到的java.security.InvalidKeyException: Illegal key size错误的方法。主要通过两种方式解决:一是修改java.security文件中的crypto.policy设置;二是替换JCE无限制权限策略文件。
1972

被折叠的 条评论
为什么被折叠?



