Я работал над моим любимым проектом, который использует базу данных SQLite для хранения информации.Недавно я решил, что я хочу, чтобы приложение было защищено паролем и чтобы база данных была зашифрована.Пока что серьезных проблем нет.В своем дизайне я пытался сосредоточиться на максимально возможной безопасности.Да, я знаю, что максимальная безопасность довольно бесполезна, учитывая, что все (я говорю о солях и зашифрованных текстах; пароль - в мозгу пользователя) хранится на одном устройстве, и любой, кто знает, что он делает, может сломать его, если он обладаетУстройство.Так зачем?Потому что я могу.
Итак, с этой целью я размышлял, где хранить расшифрованную версию моей базы данных во время работы приложения.Наиболее распространенное онлайн-предложение для временного хранения - это SD-карта.Это меня не устраивает, так как данные на SD-карте сохранятся, если приложение ненормально завершит работу (введите чрезмерно усердного пользователя с помощью диспетчера задач) или никогда не завершится вообще.
В последнее время у меня естьиграл с идеей сохранить все это в памяти, но это кажется очень плохой практикой.База данных на моем тестовом устройстве абсолютно крошечная (менее 100 КБ с массой тестовых данных в ней), но это все еще не дает мне возможности ошибиться, так как пользователь может иметь большую базу данных в дикой природе.Я очень хорошо осознаю тот факт, что, как только кто-то скажет, что «пользователь никогда этого не сделает / не получит», какой-то парень побьет это ограничение в землю.
Итак, поставленный в форме вопроса: где находитсялучшее место на устройстве Android для временного хранения расшифрованной базы данных?Желательно где-то нестабильно между выполнениями приложений, но на данный момент я открыт для предложений.
Заранее спасибо.