geek的技术日志,记录每一次技术思考的闪光点。

java中使用AES加密解密32位(256bit)密钥出现 java.security.InvalidKeyException:Illegal key size错误的解决方案

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

Java中使用AES加解密32位字符(256bit)key的时候,程序抛异常:

java.security.InvalidKeyException: Illegal key size

原因很简单,你的程序没问题,就是旧版的jdk(新版本的jdk是支持的了)不支持而已,解决方案就是需要替换两个jar包。

解决方案有两种

一:设置设置key的长度为16个字母和数字的字符串(128 Bit/8=16字符)

二:

将下面链接中的jar包下载下来,替换jdk 与jre下两个jar包:local_policy.jar和US_export_policy.jar即可。

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

jdk对应jar包的路径(找自己的路径):C:\Java\jdk1.7.0_67\jre\lib\security
jre对应jar包的路径(找自己的路径):C:\Java\jre7\lib\security

打赏作者

未经允许不得转载:极客技术 » java中使用AES加密解密32位(256bit)密钥出现 java.security.InvalidKeyException:Illegal key size错误的解决方案

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址