【问题标题】:Android - Storing a PIN/PasswordAndroid - 存储 PIN/密码
【发布时间】:2015-10-21 17:12:08
【问题描述】:

心目中的应用程序有一个自定义键盘。 9 个按钮的 GridLayout,编号为 1-9。用户将按下 4 个按钮,然后“输入”以最初创建 PIN,然后进行验证。

是否有可以存储(加密)和检索此 4 位数 PIN 码的内置方式?

大多数应用程序如何做到这一点?

作为一个简单的解决方案,散列此 PIN 并将其存储在首选项中就足够了吗?

【问题讨论】:

  • 4 位 PIN 码无论如何存储都很容易破解。

标签: java android security passwords


【解决方案1】:

您可以使用this library 将PIN 安全地存储在SharedPreferences 中。

将此添加到您的build.gradle

dependencies {
    compile 'com.scottyab:secure-preferences-lib:0.1.4'
}

然后访问SecurePreferences文件

SharedPreferences prefs = new SecurePreferences(context, null, "my_custom_prefs.xml");

从这里您可以像正常一样加载并保存到首选项

SharedPreferences.Editor editor = prefs.edit();
editor.putInt("userPin", pin).commit();

int pin = prefs.getInt("userPin", default);

图书馆的免责声明:

默认情况下,它不是防弹的安全性(实际上它更像是对偏好的混淆),但它可以快速地让您的 Android 应用程序更加安全。例如,它会阻止 root 设备上的用户轻松修改应用程序的共享首选项。推荐使用 v0.1.0 中介绍的基于用户密码的首选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 2014-06-26
    • 1970-01-01
    相关资源
    最近更新 更多