java - Android SecretKeyFactory 问题。未找到实现?

标签 java android encryption

我正在尝试为 Android 创建一个使用加密来保存用户信息的应用程序,但我不知道自己做错了什么。我正在尝试使用“PBKDF2WithHmacSHA1”算法创建 SecretKeyFactory 的实例,但应用程序在程序的那个点继续抛出异常(无论是在模拟器中还是在真实硬件上都无关紧要)。

代码:

SecretKeyFactory secretFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");

异常(exception):

java.security.NoSuchAlgorithmException: SecretKeyFactory PBKDF2WithHmacSHA1 implementation not found ...

奇怪的是...如果我将此代码作为常规 Java 应用程序进行编译,它可以正常工作...不会抛出任何异常并且我可以创建加密文件(并解密它们)而不会出错。

我也尝试过输入其他算法(例如 AES、PBEWithHmacSHA1AndDESede、PBEWithMD5AndDES 等),它们都会在代码的那一行产生相同的错误/异常(为 Android 编译时)。

我安装了最新版本的 Java (JDK 1.6.0.18)、所有适用于 Eclipse 和插件的更新,以及最新版本的 Android SDK。我也在运行 Windows 7 64 位。

求助,网上找了两天也没有找到答案。 谢谢。

最佳答案

它可能只是不受支持的算法或它在 Android 上的命名。

您查看过 javax.crypto 类吗? https://developer.android.com/reference/javax/crypto/EncryptedPrivateKeyInfo.html

如果有帮助,这里是一个使用不同算法的示例。 http://www.anddev.org/viewtopic.php?p=11737

顺便说一句,在这篇文章中添加一个“from-irc”标签以获得谷歌的回应。 http://android-developers.blogspot.com/2010/01/irc-offce-hours-update.html

关于java - Android SecretKeyFactory 问题。未找到实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2256774/

相关文章:

android - ListView.onItemClick 不工作

python - 如何编写加密单元测试?

java - 关于 GWT 中常规 servlet 的问题(在开发模式下工作,在 tomcat 中部署时不工作)

android - 带有 Retrofit 和 Dagger 的 MockWebServer

android - 将 TableLayout 转换为 RecyclerView

java - 存储 AES key

java - RSA 中 1024 位 key 长度的实数

java - 当 statusCode 断言失败并重新保证时打印响应正文

java - 将 Inflate 布局设置为更小

java - hibernate : @ValueGenerationType applied at insert but not update time