解决jdk-1.7和1.8中使用AES加密算法报java.security.NoSuchAlgorithmException问题

报错如下:

解决方案:

我自己jdk安装位置:C:\Program Files\java\jdk1.7.0_67,jre的位置: C:\Program Files\java\jdk1.7.0_67\jre\lib\security

1、修改 jre下lib\security中java.security 文件

在java.security文件中加入如下一行代码:

security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
加入后如下:

2、在ext文件夹下(我自己:C:\Program Files\java\jdk1.7.0_67\jre\lib\ext)加入如下jar包bcprov-jdk15on-1.58.jar,版本号适用于jdk1.7的的都行,我用了1.58,该jar直接上mvn仓库就能下载到https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on/1.58

3、使用AES若密钥长度超过128,即使用AES256的话,需要单独引入无限制JCE策略文件,并覆盖到JDK和JRE中,

策略文件下载地址:

JDK7: https://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

下载完后里面里面的文件如下:

然后用这两个jar包替换C:\Program Files\java\jdk1.7.0_67\jre\lib\security中的jar包

4、重启项目,测试
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_43995532/article/details/122326077

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值