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: ...
随机推荐
- 【剑指offer】求逆序对的个数
2013-09-07 10:50:31 面试题36:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字构成一个逆序对.输入一个数组,求出这个数组中逆序对的总数. 小结: 最直观的的方法是: ...
- chinacloud大数据新闻
2015年大数据发展八大趋势 (0 篇回复) “数据很丰满,信息很骨感”:Sight Machine想用大数据的方法,打碎两者间的屏障 (0 篇回复) 百度携大数据"圈地" ...
- 函数fsp_alloc_seg_inode_page
分配一个新的inode page /**********************************************************************//** Allocat ...
- 使用委托的BeginInvoke方法来完成复杂任务的操作
现在假设我有这样一个窗体(包含一个进度条和一个按钮与两个文本框),在第一个文本框中输入一个数字进行阶乘运算,在此过程中进度条与运算进度保持一致,同时可以在第二个文本框中进行其它工作(比如输入).对付这 ...
- (十二)学习CSS之display属性
参考:http://www.w3school.com.cn/cssref/pr_class_display.asp 浏览器支持 所有主流浏览器都支持 display 属性. 注释:如果规定了 !DOC ...
- mac 修改xcode的版本
http://blog.csdn.net/yangzhenping/article/details/50266245
- android和ios的系统特性区别
1. 删除:android是长按,ios为滑动/或者进入编辑模式 2. android:应用内返回键,保证用户停留在应用程序中:硬件返回键可以让用户退出应用程序 3. 剪切/粘贴/选择等文本操作 ...
- 二维坐标的平移,旋转,缩放及matlab实现
本文结合matlab 软件解释二维坐标系下的平移,旋转,缩放 首先确定点在二维坐标系下的表达方法,使用一个1*3矩阵: Pt = [x,y,1] 其中x,y 分别为点的X,Y坐标,1为对二维坐标的三维 ...
- IE兼容性问题解决方案3--css中的overflow
overflow:hidden:IE8下没效果? width:100%;IE6.7.8下必须有宽带,而且不能是auto: weight:auto; overflow-x:scroll; overflo ...
- RAM, SDRAM ,ROM, NAND FLASH, NOR FLASH
在看上面2440的内存映射的时候,对其中的有些名字,不是完全太懂,所以到网上找了相关的信息. 对于mini2440来说,SDRAM,即内存,程序运行时的地方.选择连接SDRAM的为bank6. 1)S ...