Cannot find any provider supporting AES/CBC/PKCS7Padding: PKCS7Padding方法
使用对称加密时,使用了"AES/CBC/PKCS7Padding"类型时,出现"Cannot find any provider supporting AES/CBC/PKCS7Padding"不支持的错误。
·
现象
使用对称加密时,使用了"AES/CBC/PKCS7Padding"类型时,出现"Cannot find any provider supporting AES/CBC/PKCS7Padding"不支持的错误。
原因
默认情况下javax.crypto.Cipher只支持PKCS5Padding类型,PKCS7Padding需要加载第三方Bouncy Castle扩展包。
处理方案
- 引入bcpkix-jdk15on包,或使用spring-cloud-starter框架时中也存在。
- 系统初始化是在安全组件中加入插件
@PostConstruct
private void init(){
if (Security.getProvider("BC") == null) {
Security.addProvider(new BouncyCastleProvider());
} else {
Security.removeProvider("BC");
Security.addProvider(new BouncyCastleProvider());
}
}
更多推荐


所有评论(0)