我想使用用户在应用程序设置中设置的密码锁定我的应用程序。 每次显示我的应用程序的主要活动时,都应显示密码对话框。我知道怎么做,但我想知道......:
如何存储用户设置的密码?我无法将其存储在SharedPreferences
中,因为您可以删除手机设置中的SharedPreferences。我想到了一个保存密码的 textfile ,但这个文件可以删除,不能吗?
有什么想法吗?
答案 0 :(得分:2)
您无法防止以某种方式删除密码,因此您需要先退后一步,考虑一下您为何拥有密码。您很可能使用密码来保护应用程序可以访问的数据,而不是实际的应用程序本身(因为保护应用程序不会对有物理访问设备的攻击者有效。
如果您的密码是为了保护数据,您只需要确保攻击者因删除密码存储而无法访问数据。一种方法是使用密码作为模糊数据的加密密钥(或密钥的一部分) - 因此甚至没有密码可以删除。
答案 1 :(得分:0)
一个选项是将密码放在与您拥有其他信息的文件相同的文件中(我认为您要保护用户的设置/数据)。只是在该文件丢失或损坏时不启动应用程序。您所完成的是,如果有人篡改数据,则信息将无法使用。签名/加密您的数据文件。
另一种解决方案可能是将密码(hash!)存储在网络服务器上。
答案 2 :(得分:-1)
我认为Android免费应用程序的app锁将适合你。您可以轻松地在设备上为已安装的应用设置安全密码。因此,每当有人试图打开锁定的应用程序时,他都会提示在那里写密码。
Android功能的App Lock:
1.Set up lock for specific apps on your tablet.
2.Set up number lock or pattern lock for your security.
3.Lock as many apps as you installed on your device with password protection.
4.Password hint lets you to find your forgotten password.
资源:http://www.theandroidportal.com/app-lock-protect-android-apps-password-protection/