上线JAVA项目AES加密报错误:Cannot find any provider supporting PKCS7Padding,己解决!

问题描述需要使用AES加密方式为(AES/CBC/PKCS7Padding):

环境:JDK20,centos7.

开发的时候一切正常,服务布到服务器是Centos后AES加密报错:

Cannot find any provider supporting PKCS7Padding.

试过的办法:

1、在工具类的静态方法中加(没解决):

public class AesUtil {
    static {
        Security.addProvider(new BouncyCastleProvider());//让系统支持 PKCS7Padding加密
    }
}

2、修改JDK的security设置(没解决):

1.在 jdk安装目录中(%JAVA_HOME%\jre\lib\ext)添加 jar 包 bcprov-jdk16-1.46.jar

2.在 jdk安装目录下( %JAVA_HOME%\jre\lib\security )修改 java.security 文件,的 security.provider.7=com.sun.security.sasl.Provider 替换为security.provider.7=org.bouncycastle.jce.provider.BouncyCastleProvider

3、更换JDK(己解决,我的是这个原因解决的,你的需要试试)

我原来的sun JDK20是官网下载的,什么办法都试了,就是提示:Cannot find any provider supporting PKCS7Padding。

后来换了一个亚马逊的JDK,就好了。

亚马逊JDK20下载地址

JDK下载合集t

下面是卸载原来的和安装新的:linux常用命令

1、下载:wget https://corretto.aws/downloads/latest/amazon-corretto-20-x64-linux-jdk.rpm

2、卸载旧版的:

        1、查看旧版: rpm -qa |grep jdk 或 rpm -qa |grep java 具体看你原来安装的包名

         2、卸载:rpm -e jdkXXXXXXX

3、安装新版本:

        1、rpm -ivh amazon-corretto-20-x64-linux-jdk.rpm

        2、安装的目录在:/usr/lib/jvm下面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值