android - 密码保护 Android 中的首选项

标签 android sharedpreferences android-preferences

是否可以用密码保护某些首选项?

更多信息: 我有一个用户密码首选项 (EditTextPreference),使用此首选项,用户可以更改他/她的密码。为了使其更安全,应该使用用户密码来保护这种偏好。是否可以在 android 中使用首选项 fragment ?

最佳答案

您可以使用内置密码之一 (javax.crypto) 对密码进行加密,然后将结果编码为类似 base64 (android.util.base64) 的内容,然后您可以将其作为字符串存储在首选项中。如果可能,最好永远不要存储密码。也许使用强大的不可逆哈希码(同样你可以使用 javax.crypto)并存储哈希码。当用户输入密码时,您对其进行哈希处理并与存储的哈希码进行比较。如果有人从共享首选项中获取哈希码,则很难从中获取原始密码,并且如果哈希码足够强,想出一个产生相同哈希值的密码可能并非易事。

在现实中,如果有人掌握了您的应用程序,那么如果有人真的想进入,那么总会有一个弱点。正如我父亲过去常说的.. “锁留住诚实的人出”

关于android - 密码保护 Android 中的首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17767145/

相关文章:

java - Android - NoClassDefFoundError 与从其他非 Android 项目生成的 .jar

php - 如何使用我登录的用户名将 MySQL 中的数据显示到 Android TextView?

java - TACO Java 依赖项

java - 不同 Activity 中的元素不会折叠

Android 首选项 - 有什么区别?

Android谷歌地图显示当前位置

listview - 查询 ListView 中每一项的 SharedPreferences

Android:获取具有其值(value)的sharedpreferences的关键

android - 如何动态编辑和保存列表项文本?

android - ListPreference 文本颜色