java - 在 Android 中的两个不同 Activity 中安全访问登录数据

标签 java android security

我的应用程序要求用户在第一次访问时登录,然后将其存储在 SharedPreferences 中,以便将来启动应用程序时使用。

我正在尝试实现注销功能,我想知道最好的方法是什么。

到目前为止,我的 LoginActivity 和 SignOutActivity 是分开的,因为它们发生在不同的屏幕上。理想情况下,我希望能够以这两个 Activity 都可以访问登录数据并保证其安全的方式存储首选项。你们大家建议我如何处理这个问题?

最佳答案

要么只使用default SharedPreferences或者在两个 Activity 中获取同名的 SharedPreferences;它们的重点在于它们是共享的:)我有点担心您认为 SharedPreferences 实际上是安全的或隔离的;他们不是。任何拥有root权限的人can read them (尽管其他没有root权限的应用程序默认情况下不能)。如果您要存储密码或类似内容,请对其进行加密。

有 3 modes对于 SharedPreferences:MODE_PRIVATEMODE_WORLD_READABLEMODE_WORLD_WRITEABLEMODE_PRIVATE 是默认且限制性最强的一项,仍然允许免费访问您自己的应用(或您使用相同 user ID 创建的任何其他应用)中任何 Activity 的首选项。

关于java - 在 Android 中的两个不同 Activity 中安全访问登录数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4451953/

相关文章:

java - 如何使用 switch case 处理类转换异常?

java - Gradle 不会解析依赖关系(Maven 会)

java - 来自抽象父类(super class)的抽象方法作为子类中的静态方法

java - 如何通过android调用json webservice

java.security.AccessControlException : access denied (java. io.FilePermission/usr/share/java/jsp-api-2.0.jar 读取)

java - JUnit 4 和异常暂停

android - 无法从类开始 Activity

Android原生库共享内存

c# - 验证密码的快速但安全的方法?

php - 加密上传文件的名称