如何使用Android KeyStore进行加密/解密并保持兼容性?

问题描述 投票:0回答:1

我正在开发Android应用程序。

出于安全考虑,我应该加密/解密私人数据。

直到现在,我只是将它们作为纯文本存储到SharedPreference中。

因为网络上有许多示例代码,所以应用Android KeyStore并不困难。

现在我有了“加密”,“解密”方法。

问题是...

许多用户的数据已经作为纯文本存储在SharedPreference中。

因为我的应用程序将尝试解密纯文本,如果我更新此应用程序,它们将面临崩溃或错误行为。

然后...

如何保持兼容性?

实际上,当我更新应用程序时,我遇到了IllegalBlockSizeException。

所以我认为,如果在“ decrypt”方法上捕获到IllegalBlockSizeException并仅返回纯文本,则我的应用程序将正常运行。

但是我不知道这是对的还是不正确的...

您能告诉我建议吗?

android encryption keystore
1个回答
1
投票
  1. 您增加了新版本的版本,对吗?为什么不在您的代码中添加if else逻辑来决定是否通过您的应用版本进行加密/解密?
  2. 您可以创建新的storage path/SharedPreference name并实现您的加密/解密逻辑。然后,您的旧SharedPreference数据将被忽略。不了解您的业务逻辑风险。
© www.soinside.com 2019 - 2024. All rights reserved.