【问题标题】:Encryption of SharedPreferences in AndroidAndroid中SharedPreferences的加密
【发布时间】:2016-05-03 12:50:36
【问题描述】:

与仅存储 SharedPreferences 项目相比,存储加密的 SharedPreferences 项目有什么附加价值。

我只将加密视为一种缓解技术,这样用户就不能轻易地操纵 XML 文件。

问题:加密与明文 SharedPreferences 存储?

【问题讨论】:

    标签: android encryption sharedpreferences android-sharedpreferences


    【解决方案1】:

    加密的有用性取决于加密密钥的来源。

    如果加密密钥来自用户(例如,源自用户输入的密码),那么值是任何试图读取SharedPreferences XML 中的数据的人都需要该密码或满足于尝试暴力破解-强制解密。

    如果加密密钥不是来自用户,则值会减小。攻击者(包括用户)可以尝试找到密钥并找到加密算法。两者都必须存在于设备上,否则应用程序无法解密数据(更不用说加密了)。在大多数简单的情况下,例如将密钥作为常量烘焙到应用程序中,专家不需要做很多工作即可找到密钥、找到算法并能够解密数据。

    【讨论】:

    • @CommensWare 使用 Base64 / ObscuredSharedPreferences 怎么样?以上说法是否也适用于这两者?
    • @Mr.India:这符合“加密密钥不是来自用户”段落的条件。
    猜你喜欢
    • 1970-01-01
    • 2014-01-31
    • 2011-06-22
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    相关资源
    最近更新 更多