国内私募机构九鼎控股打造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包接可以了

然后就重新运行程序,不会报错了,测试代码如下:

  1. public class Test {
  2. public static void main(String[] args) throws Exception {
  3. KeyGenerator keyGen = KeyGenerator.getInstance("AES");
  4. keyGen.init(256);
  5. SecretKey key = keyGen.generateKey();
  6. ObjectOutputStream oop = new ObjectOutputStream(new
  7. FileOutputStream("c:\\key.dat"));
  8. oop.writeObject(key);
  9. oop.close();
  10. String strTest = "Hello, Jason";
  11. byte[] strAfterAES = encryptData(strTest.getBytes());
  12. System.out.println(new String(strAfterAES));
  13. byte[] strOriContent = decryptData(strAfterAES);
  14. System.out.println(new String(strOriContent));
  15. }
  16. public static byte[] encryptData(byte[] input) throws Exception {
  17. ObjectInputStream in = new ObjectInputStream(new FileInputStream("c:\\key.dat"));
  18. SecretKey aeskey = (SecretKey) in.readObject();
  19. Cipher c1 = Cipher.getInstance("AES");
  20. c1.init(Cipher.ENCRYPT_MODE, aeskey);
  21. byte[] cipherByte = c1.doFinal(input);
  22. return cipherByte;
  23. }
  24. public static byte[] decryptData(byte[] input) throws Exception {
  25. ObjectInputStream in = new ObjectInputStream(new FileInputStream("c:\\key.dat"));
  26. SecretKey aeskey = (SecretKey) in.readObject();
  27. Cipher c1 = Cipher.getInstance("AES");
  28. c1.init(Cipher.DECRYPT_MODE, aeskey);
  29. byte[] clearByte = c1.doFinal(input);
  30. return clearByte;
  31. }
  32. }

BTW:

If ur JVM is IBM JVM pls refer to the below link to update the unlimited key size jars

http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.nd.multiplatform.doc%2Finfo%2Fae%2Fae%2Ftwbs_tunev6wss.html

java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法的更多相关文章

  1. AES的256位密钥加解密报 java.security.InvalidKeyException: Illegal key size or default parameters 异常的处理及处理工具

    一.出现的现象为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行加密,然后等对方拿到后再解密使用.我们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有进行什么特殊处理:然 ...

  2. java.security.InvalidKeyException: Illegal key size or default parameters

    今天在使用idea打包maven项目时,出现这个错误:java.security.InvalidKeyException: Illegal key size or default parameters ...

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

    在进行 Java AES 加密测试时,出现如下错误信息: java.security.InvalidKeyException: Illegal key size or default paramete ...

  4. 加密时java.security.InvalidKeyException: Illegal key size or default parameters解决办法

    需 Java几乎各种常用加密算法都能找到对应的实现.因为美国的出口限制,Sun通过权限文件(local_policy.jar.US_export_policy.jar)做了相应限制.因此存在一些问题: ...

  5. AES加密时抛出 Illegal key size or default parameters

    使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters Il ...

  6. 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 ...

  7. Java Security: Illegal key size or default parameters?

    来自:http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters I ...

  8. 微信退款异步通知报错Illegal key size or default parameters 的解决办法

    问题原因: Java几乎各种常用加密算法都能找到对应的实现.因为美国的出口限制,Sun通过权限文件(local_policy.jar.US_export_policy.jar)做了相应限制.因此存在一 ...

  9. 报错 Illegal key size or default parameters

    简介: java中使用AES对称加密后,请求报错: Caused by: java.lang.RuntimeException: java.security.InvalidKeyException: ...

随机推荐

  1. C#调用Geocoding API进行地理编码与逆编码

    使用C#调用Geocoding API来将地址转为经纬度,或者将经纬度转变为具体的地址. Geocoding API的详细介绍参见:http://developer.baidu.com/map/web ...

  2. UVa 294 (因数的个数) Divisors

    题意: 求区间[L, U]的正因数的个数. 分析: 有这样一条公式,将n分解为,则n的正因数的个数为 事先打好素数表,按照上面的公式统计出最大值即可. #include <cstdio> ...

  3. [LOJ 1038] Race to 1 Again

    C - Race to 1 Again Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu D ...

  4. C#字符串与char数组互转!

    字符串转换成Char数组string str="abcdefghijklmnopqretuvwxyz";char[] chars=str.ToCharArray(); char数组 ...

  5. oracle导入到Excel

    一.从oracle到处数据到excel文件方法一.直接从PL/SQL中,全选数据,然后复制粘贴到excel中: 方法二.同样是通过PL/SQL,在数据列中,点击右键-->导出结果-->选择 ...

  6. 理解$watch ,$apply 和 $digest --- 理解数据绑定过程

    原文地址:http://angular-tips.com/blog/2013/08/watch-how-the-apply-runs-a-digest/ 注 这篇博文主要是写给新手的,是给那些刚刚开始 ...

  7. CF GYM 100703A Tea-drinking

    题意:龙要制作n个茶,每个茶的配方是一个字符串,两个字符串之间有一个差值,这个差值为两个字符串每个对应字母之间差的绝对值的最大值,求制作所有茶时获得的所有差值中的最大值. 解法:克鲁斯卡尔.将茶的配方 ...

  8. HDU 4968 Improving the GPA

    Improving the GPA Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  9. 单点登录技术:微软Passport单点登录协议和自由联盟规范

    随着互联网络应用的普及,越来越多的人开始使用互联网上提供的服务.然而目前提供服务的网站大多采用用户名.口令的方式来识别用户身份,这使得用户需要经常性的输入自己的用户名.口令.显然这种认证方式存在着弊端 ...

  10. [King.yue]Ext.net 弹出Windows窗体注意的事项

    页面的控件ID不能重复,否则会覆盖原控件.