可以使用什么代替共享首选项来存储用户信息?正如人们所说的共享首选项不安全

What could be used instead of Shared Preferences for storing user information??As People says Shared Preference is not Secure

可以使用什么来代替共享首选项来存储用户信息?人们说共享偏好不安全。

如果您将信息存储在用户的设备中,则没有任何方法是 100% 安全的。您可以通过某些方式(例如编码、加密等)隐藏信息,但仍然不会 100% 安全。

为了确保您的信息安全,您需要将信息存储在远程服务器中。

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

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

如果您担心对您的首选项(或您的应用程序写入的任何数据)的此类访问,那么您将需要对其进行加密。如果您真的那么担心它们,您将需要弄清楚您看到的风险级别到底需要多少保护。

你也可以像whatsapp一样使用加密数据库。从安全角度来看,这是最好的方法。如果你愿意,你也可以隐藏数据库。

您可以将 SQLCipher 库用于加密数据库,或者 encrypt/decrypt 自己使用一些密钥值并将结果存储在 SharedPreferences 中。要存储密钥,请使用 Android keystone system.