2017-08-13 31 views
1

如何在16位以上的API中安全地将密码存储在android应用程序中?在android 16+上保存密码API

我知道如何与18+做到这一点,但使用SharedPreferences

然后,当你找不到16+

+0

自从API级别1以来,可以将密码保存在文件,数据库或'SharedPreferences'中。如果哟ü保存到[内部存储](https://commonsware.com/blog/2014/04/07/storage-situation-internal-storage.html),这是大多数这些选项的默认设置,只有那些根设备将能够获得密码。如果您觉得这是不够的 - 在某些情况下,它是 - 您在API 18级上使用的是什么,您觉得这样做足够了?也许我们可以建议一些像你想使用的东西......但要做到这一点,我们需要知道你想要使用什么。 – CommonsWare

+0

on 18+ api变得可用密码术加密我相信 – Vadim

+1

自API Level 1以来,各种密码学选项(例如'javax.crypto')就已经出现了。同样,请正确解释** **您认为API级别18上的可用内容,但不是您要使用的API级别16。 – CommonsWare

回答

1

任何实例可以使用SHA1哈希密码,并存储散列想要检查一个有效的密码,再次对其进行散列,并与之前保存的散列进行比较。

这是良好的,当你不想找回密码,而只是检查它是否有效

如果你也想找回密码,您将需要使用一些不同的加密方法,因为SHA1是单向的

我发现了this关于如何在Android中实现RSA协议的示例(这是一种双向非对称加密方案),并且在您还想检索密码以供进一步使用时运行良好:

+1

我upwote这,因为它在某些情况下真的有用,但我想检索密码并将其发送到服务器 – Vadim

+0

我已经编辑了相应的答案 –

+0

谢谢,会检查它 – Vadim