2011-06-01 78 views
8

我在的地步,我可以允许用户存储凭证在我的未来了Android应用一个简单的Web应用程序。我的恐惧(对Android来说是新手)是其他(邪恶)应用程序可能会在这个看似本地的数据库(本地到我的应用程序)在Android的本地SQLite数据库中存储用户名和密码是否安全?

写这个功能时,我应该害怕其他应用程序获取这些数据吗?如果是的话是什么吧本地加密的最佳方法(但请记住,我需要把它拉回来了在某些点登录时,他们正在使用的应用程序在用户)

谢谢!

+0

考虑与当地独特的盐析密码和多哈希盐渍密码。然后只存储最后的散列。然后在用户登录时比较生成的散列和存储的散列,重复此过程。即使这样,一个gpu密码破解程序可以在几分钟到几个小时内从散列中获得强大的8位字符密码。 – JAL 2011-06-01 20:21:25

回答

5

我有类似的情况,并找到了SimpleCrypto class足够满足我的需求得到加密,以避免密码的纯文本输出密码被轻易读取。

你如何决定使用密码的密钥是另一个问题。 As shown here,你可以使用手机的唯一ID(显然问题是,如果他们改变手机,你不能解密你的数据),或者只是在你的代码中使用随机字符串。这取决于您想要恢复的难度以及您保护数据的重要性。

3

不......其他的应用程序将无法去喜欢你的SQLite数据库的私有数据的访问。但是,为了以防万一,至少应该对密码进行加密。

+0

即使手机根深蒂固?对不起,这个旧线程,我只是好奇。 – VHanded 2011-12-16 15:09:20

相关问题