Android SecretKeyFactory问题.没有找到实施?

Rya*_*anM 6 java encryption android

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

码:

SecretKeyFactory secretFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
Run Code Online (Sandbox Code Playgroud)

例外:

java.security.NoSuchAlgorithmException:未找到SecretKeyFactory PBKDF2WithHmacSHA1实现...

这是奇怪的事情......如果我把这个代码编译成普通的Java应用程序,它就可以工作......没有抛出任何异常,我可以创建加密文件(并解密它们)而不会出错.

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

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

请帮助,我在两天的互联网搜索中找不到答案.谢谢.

Pat*_*fka 5

它可能不是受支持的算法,也可能不是Android上的命名。

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

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

顺便说一句,在此帖子中添加“ from-irc”标签以获得Google回复。 http://android-developers.blogspot.com/2010/01/irc-offce-hours-update.html

  • 在尝试了所有可以找到信息的算法之后,Android似乎唯一支持的算法是“ PBEWithMD5AndDES”。您的第二个链接提供了有效的证据。我将在我的程序中使用它。谢谢。 (3认同)