Android SharedPreference安全性是怎样?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (24)

我想知道共享偏好安全性。

是否有可能访问sharedpreferences,即使它们是在MODE_PRIV(0)中创建的? 是否可以列出所有可用的共享首选项,然后从其他应用程序获取所有设置? 共享首选是放置敏感数据的好地方,例如密码或身份验证令牌?

提问于
用户回答回答于

共享首选项作为文件存储在设备的文件系统中。默认情况下,它们存储在应用程序的数据目录中,其文件系统的权限设置为只允许运行特定应用程序的UID访问它们。所以,它们是私有的,因为Linux文件许可限制了它们的访问权限,就像在任何Linux / Unix系统上一样。

任何具有根级别访问设备的人都可以看到它们,因为root可以访问文件系统上的所有内容。此外,任何与创建应用程序使用相同UID运行的应用程序都可以访问它们(这通常不会完成,您需要采取特定的操作才能使两个应用程序以相同的UID运行,所以这可能不是一个大的关心)。最后,如果有人能够在不使用已安装的Android OS的情况下装载设备的文件系统,他们也可以绕过限制访问的权限。

用户回答回答于

SharedPreferences只是你电话/数据/数据/文件夹中的XML文件,因此,任何具有超级用户权限的应用程序或用户都可以访问你的SharedPreferences,即使它们是使用MODE_PRIV创建的。

正如其他人所说,任何人都可以访问它,但在这种情况下,没有人可以读取其中的数据,因为它是加密的。因此,它secure.For 至上安全我的建议将是在运行时生成,而不是硬编码它用于加密的密钥。

扫码关注云+社区