我正在尝试创建一个使用加密来保存用户信息的 Android 应用程序,但我不知道我做错了什么。我正在尝试使用“PBKDF2WithHmacSHA1”算法创建 SecretKeyFactory 的实例,但应用程序在程序中的该点上不断抛出异常(无论它是在模拟器中还是在真实硬件上)。
Code:
SecretKeyFactory secretFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
例外:
java.security.NoSuchAlgorithmException:
SecretKeyFactory PBKDF2WithHmacSHA1
未找到实施...
这是奇怪的事情...如果我使用这段代码并将其编译为常规 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 https://developer.android.com/reference/javax/crypto/EncryptedPrivateKeyInfo.html
这是一个使用不同算法的示例(如果有帮助的话)。http://www.anddev.org/viewtopic.php?p=11737 http://www.anddev.org/viewtopic.php?p=11737
顺便说一句,在这篇文章中添加一个“from-irc”标签以获得谷歌响应。http://android-developers.blogspot.com/2010/01/irc-offce-hours-update.html http://android-developers.blogspot.com/2010/01/irc-offce-hours-update.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)