最近我发现许多Android应用程序使用共享首选项进行持久登录,此类应用程序需要用户提供用户名和密码才能首次登录,但此后不需要用户进行任何其他操作。
在极少数情况下,该应用程序会将密码存储在 shared_prefs 文件夹的 login_account.xml 等文件中,一旦用户 root 了他的 Android 手机,其他恶意应用程序可能会读取此文件以获取用户的密码。
在大多数情况下,我发现应用程序会在 shared_prefs 文件夹的 login_account.xml 中存储登录密钥(不是密码),这似乎是安全的,因为恶意应用程序无法窃取密码。但是它仍然可以获取受害者的登录状态,因为他可以用受害者的登录密钥替换他的登录密钥。
我想知道是否有某种方法既可以保护我们的用户免受登录密钥被盗,又不需要我们的用户每次都输入他的密码来加载我们的应用程序?