什么比在Android中保存密码更好?内部存储或SQL数据库

时间:2014-08-04 21:35:00

标签: android sql

我正在构建一个受密码保护的Android应用,但我不确定在哪里保存我的密码。我应该像下面的例子一样使用内部存储:

FileOutputStream foss = getActivity().openFileOutput(string,
                        Context.MODE_PRIVATE);
                foss.write(password.getBytes());
                foss.close(); 

或者我应该使用SQL数据库吗?

什么更安全,为什么?或者还有其他方便的方法吗?

1 个答案:

答案 0 :(得分:2)

我会用SharedPreference做到这一点。由于只有一个值,无论您使用什么系统,用户或黑客都可以访问它。只要你hash它,它应该可以正常工作。散列基本上是单向加密。虽然嘿可能成为abc Hiy可能会成为7h4。因此,每次用户输入密码时,您都会对用户输入的密码进行哈希处理,并将其与SharedPreferences中的哈希密码进行比较,如果匹配,则授予用户访问权限。 Here是一个关于java中哈希的Stackoverflow线程。

编辑:正如评论所指出的那样,this是在android中散列密码的一种非常好的方法。使用它。