Android上的SQLite和SharedPreferences文件有多安全?

首先,我的背景。 我已经在大型networking系统上工作了十多年,Android是我过去两个月来一直在寻找的东西; 你可以想象,这个差距是相当广泛的:)

看看Android的安全和权限以及数据存储部分的文档,直接与开发人员交stream,阅读书籍和教程,整个模型是如何工作的非常清楚。 但是,我无法findSQLite和SharedPreferences文件是否足够安全地存储微妙的非encryption信息(例如,OAuth令牌)的答案。 有人可能以任何方式抓住他们吗? 引用Android的文档:

应用程序存储的任何数据都将被分配该应用程序的用户ID,而其他软件包通常无法访问。

这是不正常的部分给我额外的白发:)

谢谢,有用的答案,赞赏:)

有人可能以任何方式抓住他们吗?

这取决于某人。 正如Burov先生所指出的那样,根深蒂固的手机用户可以随心所欲。 普通用户和其他应用程序默认情况下不能。

这是不正常的部分给我额外的白发:)

默认情况下,文件是安全的。 如果您愿意,您可以使它们具有世界可读性或世界可写性。

在这种情况下,是不是可以反编译apk文件并findencryption密钥?

这取决于你所反对的人。 如果您正在防范其他应用程序,请让用户提供encryption密钥。 如果您正在防范用户,那么就像DRM的所有实现都被拧紧一样。

那么,市场上有一堆SharedPreferences编辑器应用程序,所以它们绝对不安全。 同样在根源设备上,数据库可以很容易地取消,因为用户可以完全访问电话文件系统。 因此,如果您希望您的应用程序完全安全,请对您的数据进行encryption。