java - 安卓AES问题

标签 java android aes

我正在尝试使用 AES 加密/解密我的文件。我关注了this tutorial加密我的数据,但我稍微修改了代码,以便我可以使用相同的 key 来加密许多文件。

除了加密我的文件外,我的 AES key 还使用 RSA(this page,saveKey() 方法)保存。

我在 PC 上加密了文件,并尝试在 Android 上解密它们。但是,我总是遇到 BadPaddingException: pad block corrupted。我打印出 AES key ,发现使用相同的私钥,解密的 AES key 在 PC 和 Android 上不同

如果我在 PC 上解密相同的文件,它工作正常。

为什么?!

Android的密码有问题吗?!需要帮助。

最佳答案

您的 RSA 填充密码可能采用了错误的填充方案

试试这个?

pkCipher = Cipher.getInstance("RSA/NONE/PKCS1Padding");

关于java - 安卓AES问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7299385/

相关文章:

java - JLS哪一部分说匿名类不能有public/protected/private成员类

android - 如何在 Android 应用程序中发送 http 请求以访问 REST API

Java编码和解码没有正斜杠或反斜杠的字符串

encryption - OpenSSL EVP_CIPHER_CTX 获取更新 IV

android - Appcelerator - Android 上的音频格式

java - 在 OpenSSL 中完成的 AES 加密成功解密,但在 Java 中加密时失败

java - Java中的算术

java - 疑惑,java在传递对象引用时是按值调用还是按引用调用?

java - 线程 "main"org.apache.spark.sql.AnalysisException 中出现异常 : cannot resolve

java - 如何限制 Android 上其他应用程序的使用