该异常是由于在Android平台上找不到所需的算法引起的。解决该问题的方法是,在调用加密算法之前,需要添加org.spongycastle包,并在代码中指定算法提供者。示例代码如下:
Security.insertProviderAt(new org.spongycastle.jce.provider.BouncyCastleProvider(), 1);
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding", "SC"); // 指定算法提供者为spongycastle
cipher.init(Cipher.PRIVATE_KEY, privateKey);
上述代码中,我们先添加了spongycastle提供的算法(BC),然后通过Cipher.getInstance方法来指定算法的提供者为spongycastle。
∠