私有数据的共享首选项是否安全?

时间:2016-01-25 14:19:01

标签: android sharedpreferences

我将db / user中的数据保存到SharedPreferences中的gson格式化ArrayList中。现在我的问题是:

将这些数据(或一般数据)保存到Sharedpreferences中是否安全。用户是否能够阅读这些gson Arraylists?可能来自SD卡,文件夹或其他地方。

谢谢!

3 个答案:

答案 0 :(得分:2)

SharedPreferences只是位于手机专用内存中的文件。所以用户无法访问它,但root可以。根可以一切,许多用户现在都拥有root用户。你不应该在那里存储脆弱的数据

Android SharedPreference security

答案 1 :(得分:2)

它们作为xml文件存储在您的应用目录中,其权限仅允许您的应用访问它们。但是在root设备上,它们很容易访问。如果您关心安全性,那么您可以使用加密,这些项目可能对您有用:

https://github.com/rtoshiro/SecureSharedPreferences

https://github.com/sveinungkb/encrypted-userprefs

仍然那些项目没有给你100%保证,黑客可能会反编译你的apk并找到用于加密共享偏好的密钥。因此,如果您的数据仅在短时间内使用,请记得在用户使用完毕后将其从您的设备中删除。例如,您可以将数据保存在服务器上并仅在需要时下载,仅在短时间内在本地缓存 - 何时需要。

答案 2 :(得分:2)

您可以阅读所有共享首选项数据

  

SharedPreferences类提供了允许的通用框架   您可以保存和检索原始数据的持久键值对   类型。

要查看商店中的信息,您需要了解数据中的重要信息。这将使阅读信息变得非常容易。但是,为了保持和浏览大型结构化数据一样简单,只需要保留和浏览大型结构化数据,因为您需要为每个数据定义密钥,此外,您无法真正搜索数据,除非您已确定命名秘密的概念。

请阅读 Android SharedPreference security