`

AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parameter

 
阅读更多
来源:http://blog.csdn.net/shangpusp/article/details/7416603
使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters

Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的是受限的policy文件。文件位于${java_home}/jre/lib/security

这种限制是因为美国对软件出口的控制。


解决办法:

去掉这种限制需要下载Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files.网址如下。

下载包的readme.txt 有安装说明。就是替换${java_home}/jre/lib/security/ 下面的local_policy.jar和US_export_policy.jar

jdk 5: 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

另外参考:http://www.cnblogs.com/freeliver54/archive/2011/10/08/2202136.html

javax.crypto.IllegalBlockSizeException: Input length not multiple of 16 bytes
        at com.sun.crypto.provider.SunJCE_f.a(DashoA13*..)
        at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
        at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
        at com.sun.crypto.provider.AESCipher.engineDoFinal(DashoA13*..)
        at javax.crypto.Cipher.doFinal(DashoA13*..)
要解决如上异常,可以通过补全传入加密内容等方式进行避免。
分享到:
评论
2 楼 xryy001 2015-11-09  
1 楼 andinyg 2013-10-11  
因开发使用的jdk7,其他版本不能解决问题,找了下
jdk7下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

相关推荐

    java.security.InvalidKeyException: Illegal key size 更换的Jar包

    为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行...然而,在使用256位密钥加解密的时候,如果不进行特殊处理的话,往往会出现这个异常java.security.InvalidKeyException: Illegal key size。

    解决java.security.InvalidKeyException: Illegal key size

    在Java编程环境中,有时会遇到一个常见的错误:"java.security.InvalidKeyException: Illegal key size"。这个错误通常是由于Java安全策略的限制导致的,尤其是当你尝试使用超过默认限制的密钥长度(例如,超过128位...

    微信支付接口 java.security.InvalidKeyException: Illegal key size

    对接微信接口中因为jdk8解密长度不够 报错 java.security.InvalidKeyException: Illegal key size 替换路径:(记得备份原有的文件) C:\Program Files\Java\jdk1.8.0_131\jre\lib\security

    javaAES错误解决办法java.security.InvalidKeyException:illegal

    如在加密过程中出现下面异常: java.security.InvalidKeyException:illegal Key Size 请将两个jar文件按下列操作完成: 如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件;如果安装了...

    java.security.InvalidKeyException:illegal Key Size

    在Java编程环境中,"java.security.InvalidKeyException: illegal Key Size" 是一个常见的错误,通常发生在加密或解密操作中。这个错误表示你试图使用的密钥长度超过了Java默认的安全限制。在给定的上下文中,这个...

    java.security.InvalidKeyException: Illegal key size 解决方案

    在Java编程中,`java.security.InvalidKeyException: Illegal key size` 是一个常见的错误,通常出现在加密或解密操作中,尤其是涉及到对称加密算法如AES(高级加密标准)时。这个错误表明您试图使用的密钥长度不受...

    AES加密出现InvalidKeyException之Illegal key size解决方案

    因为美国法律限制,JAVA默认支持AES 128 Bit 的key, 如果你计划使用 192 Bit 或者 256 Bit key, java complier 会抛出 Illegal key size Exception 解决办法也很简单: 将下面链接中的jar包下载下来,替换jdk 与jre...

    java.security.InvalidKeyException: Illegal key size or default

    如果执行上面代码时出现了“java.security.InvalidKeyException: Illegal key size or default parameters ”或类似的错误提示,很可能是超出了JDK 默认的秘钥长度造成的。需要在oracle官网下载local_policy.jar 、...

    jdk 密钥长度受限.zip java.security.InvalidKeyException: Illegal key size

    java.security.InvalidKeyException: Illegal key size; JDK自带的密钥库长度有限制,特殊需求,需要到官网下载 jdk 无限制权限策略文件。 查看博客:https://blog.csdn.net/dling8/article/details/84061948 Java...

    local_policy.jar和US_export_policy.jar资源.zip

    异常原因:如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种...

    JDK16的security包

    使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的...

    jce_policy-8.7z

    异常java.security.InvalidKeyException:illegal Key Size的解决方案:在官方网站下载JCE无限制权限策略文件(请到官网下载对应的版本, 例如JDK7的下载地址:... 如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\...

    java支持256位加密算法所需jar包

    export_policy.jar”是支持128位密钥的加密算法,而当我们要使用256位密钥算法的时候,已经超出它的范围,无法支持,所以才会报:“java.security.InvalidKeyException: Illegal key size or default parameters”的...

    security 1.7

    使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的...

    jdk7解除aes加密限制

    jdk7解除aes加密限制,java.security.InvalidKeyException:illegal Key Size

    JCE无限制强度加密策略所需插件,解决java.security.InvalidKeyException: Illegal ke

    针对出现**java.security.InvalidKeyException: Illegal key size** 错误 错误是:Sun通过权限文件对加密的长度做了相应的限制,比如默认不允许 256 位密钥加解密,解决方法: 1)jdk1.8.0_15以前的版本,可下载附件...

    无限强度加密local-policy.jar/US-export-policy.jar

    针对Java 8u151之前版本...因此存在一些问题:●密钥长度上不能满足需求(如:java.security.InvalidKeyException: Illegal key size or default parameters)。老版本可以下载替换下,亲测替换后加解密正常不报错了。

    解决illegal Key Size jdk7版本

    当你的应用程序尝试使用超过这些限制的密钥长度时,就会抛出“java.security.InvalidKeyException: Illegal key size”这样的异常。这对于需要更高安全性的应用,或者需要兼容其他系统(如使用了更大密钥长度的...

    微信公众号开发消息加解密工具类

    该工具类主要用于微信公众号消息的加解密,我自己的博客也用到了https://blog.csdn.net/goodbye_youth/article/details/80653132

Global site tag (gtag.js) - Google Analytics