最近做一個基於android的客戶端,客戶端與Java服務器 的通信需要實施安全方案。使用SM4進行加密,而在最開始的時候,在android平臺上與服務端初始化Cipher的時候都是使用一下這種方式:
使用這種方式,服務器端可以正常加密,但是在Android端就會報錯:java.security.NoSuchAlgorithmException: No provider found for SM4/ECB/NoPadding,解決辦法如下:Cipher cipher = Cipher.getInstance(algorithm,new BouncyCastleProvider());