应用程序有一个自定义键盘。 GridLayout由9个按钮组成,编号为1-9。用户将按下4个按钮,然后“输入”以初始创建PIN,然后再进行验证。
是否有内置方式可以存储(加密)和检索此4位数PIN?
大多数应用程序如何做到这一点?
作为一个简单的解决方案,是否会对此PIN进行散列并将其存储在首选项中?
答案 0 :(得分:1)
您可以使用this library安全地将PIN存储在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);
从这里您可以加载并保存到正常
之类的偏好设置SELECT COUNT(DISTINCT first_name), COUNT(DISTINCT last_name) FROM users
图书馆的免责声明:
默认情况下,它不是防弹安全性(实际上它更像是对首选项进行模糊处理),但它可以让您的Android应用程序更加安全。例如,它会阻止用户在root用户设备上轻松修改应用的共享首选项。建议使用v0.1.0中介绍的基于用户密码的首选项。