密码解密返回 NULL - AndroidSDK 28 及更高版本

Cipher decrypt returns NULL - AndroidSDK 28 and above

提问人:slowking 提问时间:6/13/2020 最后编辑:Jenea Vranceanuslowking 更新时间:6/13/2020 访问量:116

问:

RSAData.java

public byte[] decryptData(byte[] data) {
    try {
        byte[] decrypted = decryptCipher.doFinal(data);
        return decrypted;
    }
    catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

这适用于其他 android 版本,但不适用于 Android 28 及更高版本。此方法返回 NULL,并且数据准确到此处。请帮忙!

java android nullpointerexception null nullreferenceexception

评论

0赞 blackapps 6/13/2020
所以你有一个例外。您没有告知异常消息。为什么?或者你说 doFinal() 返回 null?
0赞 slowking 6/13/2020
@blackapps例外是 - 在 null 对象引用上调用虚拟方法
0赞 blackapps 6/13/2020
还行。null 对象也是如此。如果它为 null,则不要使用它。使用前检查空值。decryptCipher
0赞 slowking 6/13/2020
@blackapps decryptCipher = Cipher.getInstance(“RSA/NONE/OAEPWithSHA1AndMGF1Padding”, “BC”);decryptCipher.init(Cipher.DECRYPT_MODE, privateKey);
0赞 blackapps 6/13/2020
如果 getIntance() 返回 null,则 decryptCipher 将为 null。因此,请检查该语句之后是否为 null。

答: 暂无答案