2015-10-21 70 views
0

该应用程序记住了一个自定义键盘。一个数字1-9的9个按钮的GridLayout。用户将按4个按钮,然后'输入'以初始创建PIN,然后再验证。Android - 存储PIN码/密码

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

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

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

+0

无论您如何存储它,4位PIN码都很容易破解。 – 1615903

回答

1

您可以使用this library安全地将密码存储在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应用程序更安全。例如,它会阻止用户在根设备上轻松修改应用的共享首选项。建议使用v0.1.0中介绍的基于用户密码的prefs。