Java里AES256位加解密问题

      平时对请求和响应参数进行AES加密都是采取128位加密的,今天对接的一个项目却是只支持256的,就做了下修改:

本地执行正常的,但是放上服务器后,结果就:

无情的抛了个异常

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

(key大小或默认参数异常)

      查到资料发现原来JDK是不支持AES的256加密的,官方网站上提供了扩展包叫无限制JCE策略文件,用于覆盖原有的

两个jar包,就可以支持256加密了

  下载网址:

   https://pan.baidu.com/s/1s6SxD2Il_pLX4-aJfqmGOw   提取码:kgvi

   jce_policy-8为jdk1.8使用的版本      UnlimitedJCEPolicyJDK7  为jdk1.7使用的版本

 

解压出来后有这些文件:

这两个jar的替换路径为:

你的jdk所在路径/jre/lib/security,进去就能看到这两个jar包了。
 

注意:我本地加解密成功可以而服务器不行的问题,我服务器上的jdk版本是jdk1.8.0_112,而本地的为jdk 1.8.0_191,

本地版本进去后是连替换jar所在文件夹都变了:

你的jdk路径/jre\lib\security\policy,下面有limited和unlimited两个文件夹,都有这两个jar。

这里我推测是jdk1.8升级到后面的版本后已经解决了AES256加解密的问题。

进官网查这个版本的更新内容,并没有明说是解决了AES256问题,但有说修改了一些加密的问题,有兴趣的可以看下:

https://www.oracle.com/technetwork/java/javase/8u191-relnotes-5032181.html


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值