Как зашифровать / расшифровать, используя Android KeyStore с сохранением совместимости? - PullRequest
0 голосов
/ 25 февраля 2020

Я занимаюсь разработкой Android приложения.

Из-за безопасности я должен шифровать / дешифровать личные данные.

До сих пор я просто сохранял их в SharedPreference в виде простого Текст.

Поскольку в Интернете имеется множество примеров кодов, применение Android KeyStore не составило труда.

Теперь у меня есть методы "encrypt", "decrypt".

Проблема в том, что ...

Многие данные пользователя уже сохранены в SharedPreference в виде простого текста.

Поскольку мое приложение будет пытаться расшифровать обычный текст, если я обновлю это приложение, они может столкнуться с sh или неправильным поведением.

Тогда ...

Как сохранить совместимость?

На самом деле, когда я обновляю свое приложение, я сталкивался с IllegalBlockSizeException.

Так что я думаю, что если я поймаю IllegalBlockSizeException на методе "расшифровки" и верну только обычный текст, мое приложение будет работать нормально.

Но я не знаю, что это правильно или нет ...

Подскажите, пожалуйста, совет?

1 Ответ

1 голос
/ 25 февраля 2020
  1. Вы увеличиваете версию своего нового выпуска, верно? почему бы не добавить if else logi c в ваш код, чтобы решить, будет ли en / decrypt или нет в зависимости от версии вашего приложения?
  2. Вы можете создать новый storage path/SharedPreference name и реализовать свою логи en / decrypt c. Тогда ваши старые данные SharedPreference будут игнорироваться. Idk о риске для вашего бизнеса логи c.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...