Java 解密错误InvalidKeyException: Illegal key size解决方法

做解密操作,出现如下错误 java.security.InvalidKeyException: Illegal key size

			// 设置解密模式为AES的CBC模式
			Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
			SecretKeySpec key_spec = new SecretKeySpec(aesKey, "AES");
			IvParameterSpec iv = new IvParameterSpec(Arrays.copyOfRange(aesKey, 0, 16));
			cipher.init(Cipher.DECRYPT_MODE, key_spec, iv);  

异常原因:如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常

解决方法:JDK7的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。

参考:https://www.cnblogs.com/lilinzhiyu/p/8024100.html

原文地址:https://www.cnblogs.com/linlf03/p/9429861.html

时间: 2024-09-30 15:37:11

Java 解密错误InvalidKeyException: Illegal key size解决方法的相关文章

错误: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使用起来还不是很方便:一些常用的进制转换辅助工具未能提供,

Java学习-050-AES256 之 java.security.InvalidKeyException: Illegal key size or default parameters 解决方法

在进行 Java AES 加密测试时,出现如下错误信息: java.security.InvalidKeyException: Illegal key size or default parameters at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026) at javax.crypto.Cipher.implInit(Cipher.java:801) at javax.crypto.Cipher.chooseProvider(Cip

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

Java实现AES加密,抛出异常如下: java.security.InvalidKeyException: Illegal key size 代码参考 http://my.oschina.net/Jacker/blog/86383?fromerr=x3l5xL1a 原因: Illegal key size or default parameters 是指密钥长度受限制, java运行时环境读到的是受限的policy文件. policy文件位于${java_home}/jre/lib/secur

Tomcat启动报java.security.InvalidKeyException:illegal Key Size

背景: 最近在搭建公司的一个服务,需要用到tomcat,可以启动tomcat之后,日志总是报错. java.security.InvalidKeyException:illegal Key Size. 查了一下,这是一个java加解密的问题. 我按照网上的方法,下载了JCE_policy文件,放上去之后还是报这样的错误. 注意: 因为安装的JDK版本不一样所造成的,JCE_policy版本要跟JDK版本匹配. 网上说到的都是JDK1.6版本.我安装的是JDK1.7版本. 这是因为用到了jdk s

JAVA - Blowfish加密出现java.security.InvalidKeyException: Illegal key size 解决方案

最近用java进行一个blowfish的加密算法,但是在我们的eclipse上报出Illegal key size的错误.google后发现原因是:ymmetricDS加密symmetric.properties中数据库密码产生"Illegal Key Size"错误 根据symmetricDS的guide文档,想要加密symmetric.properties中的db.password,需要跑以下命令: sym -p E:\someplace\symmetric.properties

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

使用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 Cry

java.security.InvalidKeyException:illegal Key Size

现象 使用了weixin-java-tools包对接微信企业号,在激活回调URL时就发生异常,AES加密失败,报java.security.InvalidKeyException:illegal Key Size,当密钥大于128位时报此错误. 解决方案 到Oracle官网下载JCE无限制权限策略文件(注意对应版本),下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt.如果安装了JRE, 将两个jar文件放到%JRE_HOME%

抛出java.security.InvalidKeyException: Illegal key size

使用FlexiEC的Provider来做ECIES加密时,发现IESParameterSpec在配置完参数后,代码会抛出java.security.InvalidKeyException: Illegal key size, 感觉应该是JCE的问题,于是查关于JCE的资料发现:Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的是受限的policy文件.文件位于${java_home}/jre/lib/security 这种

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

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