当前位置:   article > 正文

NoSuchAlgorithmException: No provider found for SM4_cn.hutool.crypto.cryptoexception: nosuchalgorithme

cn.hutool.crypto.cryptoexception: nosuchalgorithmexception: no such algorith
  1. System.err: cn.hutool.crypto.CryptoException: NoSuchAlgorithmException: No provider found for SM4
  2. System.err:     at cn.hutool.crypto.SecureUtil.createCipher(SecureUtil.java:987)
  3. System.err:     at cn.hutool.crypto.symmetric.SymmetricCrypto.init(SymmetricCrypto.java:154)
  4. System.err:     at cn.hutool.crypto.symmetric.SymmetricCrypto.<init>(SymmetricCrypto.java:124)
  5. System.err:     at cn.hutool.crypto.symmetric.SymmetricCrypto.<init>(SymmetricCrypto.java:112)
  6. System.err:     at cn.hutool.crypto.symmetric.SymmetricCrypto.<init>(SymmetricCrypto.java:101)
  7. System.err:     at cn.hutool.crypto.symmetric.SM4.<init>(SM4.java:37)

 

Sm4加解密,遇到如上的问题,在网上搜了很多资料,乱改一通,跟着添加
compile 'org.bouncycastle:bcpg-jdk16:1.46'

及代码添加

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

出现新问题:

  1. System.err: cn.hutool.crypto.CryptoException: NoSuchAlgorithmException: Provider BC does not provide SM4
  2. System.err:     at cn.hutool.crypto.SecureUtil.createCipher(SecureUtil.java:987)
  3. com.reach.covid W/System.err:     at cn.hutool.crypto.symmetric.SymmetricCrypto.init(SymmetricCrypto.java:154)
  4. com.reach.covid W/System.err:     at cn.hutool.crypto.symmetric.SymmetricCrypto.<init>(SymmetricCrypto.java:124)
  5. com.reach.covid W/System.err:     at cn.hutool.crypto.symmetric.SymmetricCrypto.<init>(SymmetricCrypto.java:112)
  6. com.reach.covid W/System.err:     at cn.hutool.crypto.symmetric.SymmetricCrypto.<init>(SymmetricCrypto.java:101)
  7. com.reach.covid W/System.err:     at cn.hutool.crypto.symmetric.SM4.<init>(SM4.java:37)
  8. com.reach.covid W/System.err:     at cn.hutool.crypto.SmUtil.sm4(SmUtil.java:143)

还是没有解决!!!!

查阅了很多外国资料,抱着试一试的态度,居然好了。。。。。

解决方法是版本原因!

implementation 'cn.hutool:hutool-all:5.4.5'
compile 'org.bouncycastle:bcprov-jdk15to18:1.69'

版本更新至这样就行了。。。。以此记录下这问题,em........

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/570671
推荐阅读
相关标签
  

闽ICP备14008679号