存储用户名+是否安全;Android中本地SQLite数据库中的密码?
我现在可以允许用户在我即将推出的Android应用程序中存储简单web应用程序的凭据。我担心(对于Android来说是新手)其他(邪恶的)应用程序可能会访问这个看似本地的数据库(对我的应用程序来说是本地的) 在编写此功能时,我是否应该担心其他应用程序获取此数据?如果是这样的话,在本地对其进行加密的最佳方式是什么(但请记住,当用户使用应用程序时,我需要在某个时候将其拔出以登录)存储用户名+是否安全;Android中本地SQLite数据库中的密码?,android,security,sqlite,Android,Security,Sqlite,我现在可以允许用户在我即将推出的Android应用程序中存储简单web应用程序的凭据。我担心(对于Android来说是新手)其他(邪恶的)应用程序可能会访问这个看似本地的数据库(对我的应用程序来说是本地的) 在编写此功能时,我是否应该担心其他应用程序获取此数据?如果是这样的话,在本地对其进行加密的最佳方式是什么(但请记住,当用户使用应用程序时,我需要在某个时候将其拔出以登录) 谢谢大家! 没有。。。其他应用程序将无法访问您的sqlite数据库等私有数据。但是,至少对密码进行加密是值得的,以防万一
谢谢大家! 没有。。。其他应用程序将无法访问您的sqlite数据库等私有数据。但是,至少对密码进行加密是值得的,以防万一。我也有类似的情况,并找到了足够的密码加密方法,以避免密码的纯文本输出容易读取
您如何决定使用密钥进行加密是另一个问题,您可以使用手机的唯一Id(明显的问题是,如果他们更换手机,您无法解密您的数据),或者只是在代码中使用随机字符串。这取决于恢复的难度以及数据的安全性。考虑使用唯一的本地salt对密码进行加密,并对加密后的密码进行多重散列。然后只存储最后的散列。然后,当用户登录时,将生成的哈希与存储的哈希进行比较,重复此过程。即使这样,一个gpu密码破解程序也可以在几分钟到几小时内从散列中获得一个强8字符的密码?对不起,这条旧线,我只是好奇。