java的AES256算法报java.security.InvalidKeyException: Illegal key size or default parameters错的多种解决方案

报错信息:

Caused by: java.security.InvalidKeyException: Illegal key size or default parameters

问题原因:

Java几乎各种常用加密算法都能找到对应的实现。因为美国的出口限制,Sun通过权限文件(local_policy.jar、US_export_policy.jar)做了相应限制。因此存在一些问题,JRE中自带的“local_policy.jar ”和“US_export_policy.jar”是支持128位密钥的加密算法,而当我们要使用256位密钥算法的时候,已经超出它的范围,无法支持,所以才会报:“java.security.InvalidKeyException: Illegal key size or default parameters”的异常。

解决方案一:

限制问题:部署服务器的时候也得记着替换这2个jar要不程序就会不好使。

根据自己的电脑使用的JDK版本下载,把里面的两个jar包:local_policy.jar 和 US_export_policy.jar 替换掉原来jdk安装目录C:\Program Files\Java\jre6\lib\security 下的两个jar,重启下Eclipse就可以了

JDK6 jar包下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

JDK7 jar包下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

JDK8 jar包下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

解决方案二:

查看JDK发行版本的时候发现JDK1.8-161这个版本,有这段说明

https://www.oracle.com/technetwork/java/javase/8u161-relnotes-4021379.html

这正好解决了上面方案一的限制问题,以后只要项目需要使用AES256算法,就使用JDK1.8-161及以上就不会报这个错了

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值