Java:用AES128-ECB-PKCS7解密数据,遇到的坑,会抛异常java.security.NoSuchAlgorithmException

在Linux环境中,Java程序在使用AES128-ECB-PKCS7解密时抛出`NoSuchAlgorithmException`。问题源于Java默认仅支持PKCS5Padding,而非所需的PKCS7Padding。解决方案包括下载BouncyCastle的jar包,将其放入JDK安装目录,并修改`java.security`文件添加相应提供者。
摘要由CSDN通过智能技术生成

程序在本地调试,接收数据,解密数据,都没问题,在linux运行,接收数据抛出异常,判断是程序走到解密类,抛出此异常,

java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES/ECB/PKCS7Padding
java.lang.NullPointerException
	at com.bajiu.netty.utils.ByteUtil.byteArrToHexString(ByteUtil.java:253)
	at com.bajiu.netty.server.ServerHandler.channelRead(ServerHandler.java:163)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)

抛出此异常的原因

堆栈跟踪:找不到支持AES/ECB/PKCS7Padding的提供商,java默认支持是PKCS5Padding填充方式,程序在运行时候,需要的是PKCS7Padding,Java在没有提供,说简单点,就是程序要用的东西,Java没有提供

解决方案

1,去BouncyCastle官网下载对应JDK版本的jar包,对应jdk下载对应版本jar包,如图;
在这里插入图片描述
2,找到linux服务器JDK安裝目录,把下载的jar包上传到该目录下
目录: ${JDK_HOME}/jdk1.8.0_2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值