java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html
内部邀请码:C8E245J (不写邀请码,没有现金送)
国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE第一股”,市值超1000亿元。
------------------------------------------------------------------------------------------------------------------------------------------------------------------
报错堆栈如下:
Caused by: java.security.InvalidKeyException:Illegal key size or default parameters
at javax.crypto.Cipher.a(DashoA13*..)~[na:1.6]
at javax.crypto.Cipher.a(DashoA13*..)~[na:1.6]
at javax.crypto.Cipher.a(DashoA13*..)~[na:1.6]
at javax.crypto.Cipher.init(DashoA13*..)~[na:1.6]
at javax.crypto.Cipher.init(DashoA13*..)~[na:1.6]
at my.package.Something.decode(RC4Decoder.java:25)~[my.package.jar:na]
Google到问题原因,链接地址如下:
http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters
根据回答找到下载新jar包链接地址如下:
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
把里面的两个jar包:local_policy.jar 和 US_export_policy.jar 替换掉原来安装目录C:\Program Files\Java\jre6\lib\security 下的两个jar包接可以了
然后就重新运行程序,不会报错了,测试代码如下:
- public class Test {
- public static void main(String[] args) throws Exception {
- KeyGenerator keyGen = KeyGenerator.getInstance("AES");
- keyGen.init(256);
- SecretKey key = keyGen.generateKey();
- ObjectOutputStream oop = new ObjectOutputStream(new
- FileOutputStream("c:\\key.dat"));
- oop.writeObject(key);
- oop.close();
- String strTest = "Hello, Jason";
- byte[] strAfterAES = encryptData(strTest.getBytes());
- System.out.println(new String(strAfterAES));
- byte[] strOriContent = decryptData(strAfterAES);
- System.out.println(new String(strOriContent));
- }
- public static byte[] encryptData(byte[] input) throws Exception {
- ObjectInputStream in = new ObjectInputStream(new FileInputStream("c:\\key.dat"));
- SecretKey aeskey = (SecretKey) in.readObject();
- Cipher c1 = Cipher.getInstance("AES");
- c1.init(Cipher.ENCRYPT_MODE, aeskey);
- byte[] cipherByte = c1.doFinal(input);
- return cipherByte;
- }
- public static byte[] decryptData(byte[] input) throws Exception {
- ObjectInputStream in = new ObjectInputStream(new FileInputStream("c:\\key.dat"));
- SecretKey aeskey = (SecretKey) in.readObject();
- Cipher c1 = Cipher.getInstance("AES");
- c1.init(Cipher.DECRYPT_MODE, aeskey);
- byte[] clearByte = c1.doFinal(input);
- return clearByte;
- }
- }
BTW:
If ur JVM is IBM JVM pls refer to the below link to update the unlimited key size jars
java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法的更多相关文章
- AES的256位密钥加解密报 java.security.InvalidKeyException: Illegal key size or default parameters 异常的处理及处理工具
一.出现的现象为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行加密,然后等对方拿到后再解密使用.我们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有进行什么特殊处理:然 ...
- java.security.InvalidKeyException: Illegal key size or default parameters
今天在使用idea打包maven项目时,出现这个错误:java.security.InvalidKeyException: Illegal key size or default parameters ...
- Java学习-050-AES256 之 java.security.InvalidKeyException: Illegal key size or default parameters 解决方法
在进行 Java AES 加密测试时,出现如下错误信息: java.security.InvalidKeyException: Illegal key size or default paramete ...
- 加密时java.security.InvalidKeyException: Illegal key size or default parameters解决办法
需 Java几乎各种常用加密算法都能找到对应的实现.因为美国的出口限制,Sun通过权限文件(local_policy.jar.US_export_policy.jar)做了相应限制.因此存在一些问题: ...
- AES加密时抛出 Illegal key size or default parameters
使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters Il ...
- Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
How to remove the key size restriction in Java JDK? Are you developing your beautiful application us ...
- Java Security: Illegal key size or default parameters?
来自:http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters I ...
- 微信退款异步通知报错Illegal key size or default parameters 的解决办法
问题原因: Java几乎各种常用加密算法都能找到对应的实现.因为美国的出口限制,Sun通过权限文件(local_policy.jar.US_export_policy.jar)做了相应限制.因此存在一 ...
- 报错 Illegal key size or default parameters
简介: java中使用AES对称加密后,请求报错: Caused by: java.lang.RuntimeException: java.security.InvalidKeyException: ...
随机推荐
- 你想建设一个能承受500万PV/每天的网站吗?
(如果感觉有帮助,请帮忙点推荐,添加关注,谢谢!你的支持是我不断更新文章的动力.本博客会逐步推出一系列的关于大型网站架构.分布式应用.设计模式.架构模式等方面的系列文章) 你想建设一个能承受500万P ...
- jdk1.8.0_101/bin下各文件解释
appletviewer - Runs applets outside of a web browser. extcheck - Detects version conflicts between a ...
- 1471. Tree(LCA)
1471 先学习了下tarjan算法的LCA 离线算法 它是先知道询问的结点对 在遍历的时候就已经算出来了 看篇图解 讲的很清楚 #include <iostream> #include& ...
- RMAN数据库异机迁移
本文讲述如何用rman将一个库迁移到另一个服务器上. 服务器A:linux es4 + oracle9204 (源)服务器B:linux es4 + oracle9204 (目标) 一.创建目录 为了 ...
- 【转】如何下载并编译Android4.0内核源码goldfish(图文)
原文网址:http://blog.csdn.net/flydream0/article/details/7070392 关于如何下载Android4.0源码,请查看我的博客内另一篇文章(同样是图文教程 ...
- andori 动画验证必填项
android项目开发过程中,都会碰到必填项的校验,最简单的就是利用Toast对用进行提示,感觉这种提示太不够人性化了,那么今天就来个带动画的,并可以将光标定位到必填项中. andorid动画Anim ...
- HDU 1163 Eddy's digital Roots
Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- Algorithm for Maximum Subsequence Sum z
MSS(Array[],N)//Where N is the number of elements in array { sum=; //current sum max-sum=;//Maximum ...
- umask设置导致程序权限不足的问题
这几天邮件告警总是发不了邮件,查看了下zext_msmtp.sh的日志,发现总是提示权限不足…… 于是切换为zabbix的账户,发现在msmtp的目录下连ls都无法执行. 之后发现是umask的问题, ...
- 设计模式_Proxy_代理模式
形象例子: 跟MM在网上聊天,一开头总是“hi,你好”,“你从哪儿来呀?”“你多大了?”“身高多少呀?”这些话,真烦人,写个程序做为我的Proxy吧,凡是接收到这些话都设置好了自动的回答,接收到其他的 ...