AES CBC PKCS#7加密

执行加解密时抛 java.security.InvalidKeyException:illegal Key Size 异常

由于密钥大于 128 位, 会抛出 java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java 运行时环境读到的是受限的 policy 文件. 文件位于 ${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制
解决方案:
方案 A:
去官方下载 JCE 无限制权限策略文件,然后替换对应文件

JDK7 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK8 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

下载后解压,可以看到 local_policy.jar 和 US_export_policy.jar 以及 readme.txt
如果安装了 JRE,将两个 jar 文件放到 %JRE_HOME%\lib\security 目录下覆盖原来的文件
如果安装了 JDK,还要将两个 jar 文件也放到 %JDK_HOME%\jre\lib\security 目录下覆盖原来文件

方案 B:
把 Oracle JDK 更换成 openJDK,openJDK 是 Oracle 免费开源 Java 版本,该版本不存在这种限制,绝大部分 Java 服务也是基于 openJDK 环境运行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FlyingZCC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值