Безопасное хранилище данных с помощью SQLite в ОС Android
- Приложение должно иметь возможность сохранять изменять и удалять данные в следующем формате: a. Ресурс, для которого сохраняются учетные данные; b. Логин (может быть пустым); c. Пароль от ресурса; d. Заметки (заметки пользователя о данной записи).
- По умолчанию пароль от ресурса не должен отображаться в открытом виде. У пользователя должна быть возможность скопировать пароль, либо посмотреть его.
- При запуске приложение должно запрашивать у пользователя код/пароль, который в дальнейшем будет использован в качестве основного ключа шифрования (в дальнейшем будем называть его просто ключ). Без правильно введенного кода доступ к данным должен быть невозможен;
- Приложение должно хранить данные во встроенной в приложение базе данных SQLite, перед записью и получением каждый атрибут записи должен шифроваться;
- Необходима возможность смены защитного кода/пароля приложения. Для этого необходимо запросить у пользователя новый код, после чего перезаписать все данные, зашифрованные на новом ключе, сгенерированном на основе нового кода.
- Приложение должно обладать возможностью импорта и экспорта сохраненных данных в зашифрованном виде. Формат данных, используемый для экспорта/импорта описать в отчете.