#android #android_shared_preferences
Здравствуйте, после регистрации пользователя в приложении, как правильно хранить пароль пользователя? Если sharedpreferences - это наилучший вариант, можете объяснить почему, и можно ли взломать, и получить данные пользователя?
Ответы
Ответ 1
данные типа String хранятся в SharedPreferences в явном виде, практически в текстовом файле. Получить к нему доступ и прочитать эти данные - не очень сложная задача. Для предотвращения доступа к данным используйте шифрование. Как Core Java (пакеты crypto и security), так и фреймворк Android (класс AccountManger к примеру) предоставляют достаточно инструментов (классов) для надежного шифрования информации. Способ же сохранения зашифрованных данных отходит на второй план - это может быть БД, преференсы, файл и тп., как удобнее для конкретной задачи (например БД оправдана при хранении нескольких однотипных данных и слишком избыточна для только одного логина-пароля).Ответ 2
Популярное решение - хранить пароль в Базе Данных, и шифровать значение в целях безопасности (выбор БД и способа шифрования зависит от ситуации). Подумайте о ситуации, в которой вам требуется сохранить малое значение (например флаг состояния). Вероятно, позже вы захотите обратиться к этому значению, когда пользователь будет запускать приложение (например для проверки, запускается приложение первый раз, и нужно ли показать инструкцию). В этом случае стоит использовать SharedPreferences. SharedPreferences имеет представление ключ-значение, и используется для хранения примитивных типов данных, для последующего использования между пользовательскими сессиями. Если же вам требуется хранить что-то более объемное, например список пользователей и их паролей, то для этого вам потребуется более сложное представление.
Комментариев нет:
Отправить комментарий