java.security.NoSuchProviderException: No such provider: BC问题解决
文章目录
最近在使用java编写SM4加密遇到报错:java.security.NoSuchProviderException: No such provider: BC
at javax.crypto.Cipher.getInstance(Cipher.java:592)
问题分析
经过Debug发现当执行代码Cipher cipher = Cipher.getInstance(“SM4/GCM/NoPadding”, BouncyCastleProvider.PROVIDER_NAME);时抛出上述错误。从错误提示看,是缺少BC这个provider所致。
解决办法:
首先确保已经引入bcprov-jdk15on包,maven添加配置
|
|
其次,更关键的是补充执行添加BC这个Provider的代码,在执行Cipher.getInstance的时机之前执行即可,通常我们在某个相关类添加一段静态代码,代码如下:
|
|
文章作者 HiOFD
上次更新 2024-05-07