我想用用户在应用程序设置中设置的密码锁定我的应用程序。每次要显示我的应用程序的主要活动时,都应该显示一个密码对话框。我知道该怎么做,但我想知道......:
如何存储用户设置的密码?我无法存储它,SharedPreferences
因为您可以在手机设置中删除 SharedPreferences。我想过一个保存密码的文本文件,但是这个文件可以删除,不是吗?有任何想法吗?
我想用用户在应用程序设置中设置的密码锁定我的应用程序。每次要显示我的应用程序的主要活动时,都应该显示一个密码对话框。我知道该怎么做,但我想知道......:
如何存储用户设置的密码?我无法存储它,SharedPreferences
因为您可以在手机设置中删除 SharedPreferences。我想过一个保存密码的文本文件,但是这个文件可以删除,不是吗?有任何想法吗?
您无法防止密码以某种方式被删除,因此您需要退后一步,首先考虑为什么您有密码。很可能您正在使用密码来保护应用程序可以访问的数据,而不是实际的应用程序本身(因为保护应用程序不运行对于对设备进行物理访问的攻击者不会有效。
如果您的密码是为了保护数据,您只需要确保攻击者由于删除密码存储而无法访问数据。一种方法是使用密码作为加密密钥(或密钥的一部分)来隐藏数据——因此甚至没有要删除的密码。
一种选择是将密码放在与其他信息相同的文件中(我认为您想保护用户的设置/数据)。当该文件丢失或损坏时,请不要启动应用程序。您所完成的是,如果有人篡改数据,则信息将变得无法使用。签署/加密您的数据文件。
另一种解决方案可能是将密码(哈希!)存储在网络服务器上。