android sm4 解密报错 NoSuchAlgorithmException: Provider BC does not provide SM4/ECB/PKCS7Padding

为了快速与后台实现sm2,sm4加解密的调试,我这直接用java后台的sm2,sm4的工具类。

但出现了一个问题:

1、在AndroidStudio上运行java的sm2,sm4的工具类能正常加解密。

2、在Android项目里面运行java的sm2,sm4报错 NoSuchAlgorithmException: Provider BC does not provide SM4/ECB/PKCS7Padding。

于是各种百度,解决办法记录下:

Cipher cipher = Cipher.getInstance(sm4ModeAndPaddingEnum.getName(), BouncyCastleProvider.PROVIDER_NAME);

在上行代码之前添加以下代码

Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME);
Security.addProvider(new BouncyCastleProvider());

 

posted on 2022-06-02 12:01  念八一棵树  阅读(2970)  评论(0)    收藏  举报

导航