如何保护Android共享首选项?

严厉的达塔尼

SharedPreferencesAndroid应用程序中存储的常见位置是:

/data/data/<package name>/shared_prefs/<filename.xml>

具有root特权的用户可以导航到该位置并可以更改其值。保护它非常重要。

我们可以通过几种方式加密整个shared_pref's xml文件?

众所周知,我们可以加密并将数据保存在shared_pref's xml文件中,但这不仅100%安全,因此需要使用密钥对整个文件进行加密。在了解加密整个xml文件的各种方法方面需要帮助这是一个通用问题,此处讨论为答案的各种加密方法可能对所有开发人员在保护应用程序安全方面有所帮助。

博扬·克森曼(Bojan Kseneman)

更新的答案:

Android已在其Jetpack库中发布了带有EncryptedSharedPreferences的安全库。

最低API是23(6.0+)

String masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);

SharedPreferences sharedPreferences = EncryptedSharedPreferences.create(
    "secret_shared_prefs",
    masterKeyAlias,
    context,
    EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
    EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
);

// use the shared preferences and editor as you normally would
SharedPreferences.Editor editor = sharedPreferences.edit();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章