【发布时间】:2020-04-27 19:13:18
【问题描述】:
我发现了一个类似的问题 here 和许多其他关于保护共享偏好的文章 但它们都带有一个警告-
如果更改锁屏方法或 PIN/模式,您在代码中用作密码或“秘密”的证书将被删除。
这是library 建议使用的人,但它有很多未解决的问题,例如如果更新到 Android Q 他们无法访问数据。
只有在 Min API 为 23 (6.0+) 时才能使用 EncryptedSharedPreferences。
有人可以建议他们是否找到任何可靠的方法来实现加密共享首选项?
【问题讨论】:
-
你可以有一个内部加密/解密逻辑。当您将值保存到共享首选项时,请在保存之前对其进行加密,而在检索值时在使用它之前对其进行解密。您可以编写一个独立的模块来处理这个问题。所有与共享首选项相关的操作都应通过该模块进行路由。
-
但加密逻辑并不安全,任何人都可以对我的 apk 进行反向编码,然后对这些密钥进行解码。
-
@Ankit 你找到解决方案了吗?如果是,请发布。
-
@kousalya 我根据设备版本(21+ ESP 和低于该 SP)在 SharedPreferences 上同时使用 EncryptedSharedPreferences。也不加密旧版本的数据,因为这太慢了。
标签: android encryption sharedpreferences