Страницы

Поиск по вопросам

суббота, 14 декабря 2019 г.

После регистрации как правильно хранить данные пользователя

#android #android_shared_preferences


Здравствуйте, после регистрации пользователя в приложении, как правильно хранить
пароль пользователя?

Если sharedpreferences - это наилучший вариант, можете объяснить почему, и можно
ли взломать, и получить данные пользователя?
    


Ответы

Ответ 1



данные типа String хранятся в SharedPreferences в явном виде, практически в текстовом файле. Получить к нему доступ и прочитать эти данные - не очень сложная задача. Для предотвращения доступа к данным используйте шифрование. Как Core Java (пакеты crypto и security), так и фреймворк Android (класс AccountManger к примеру) предоставляют достаточно инструментов (классов) для надежного шифрования информации. Способ же сохранения зашифрованных данных отходит на второй план - это может быть БД, преференсы, файл и тп., как удобнее для конкретной задачи (например БД оправдана при хранении нескольких однотипных данных и слишком избыточна для только одного логина-пароля).

Ответ 2



Популярное решение - хранить пароль в Базе Данных, и шифровать значение в целях безопасности (выбор БД и способа шифрования зависит от ситуации). Подумайте о ситуации, в которой вам требуется сохранить малое значение (например флаг состояния). Вероятно, позже вы захотите обратиться к этому значению, когда пользователь будет запускать приложение (например для проверки, запускается приложение первый раз, и нужно ли показать инструкцию). В этом случае стоит использовать SharedPreferences. SharedPreferences имеет представление ключ-значение, и используется для хранения примитивных типов данных, для последующего использования между пользовательскими сессиями. Если же вам требуется хранить что-то более объемное, например список пользователей и их паролей, то для этого вам потребуется более сложное представление.

Комментариев нет:

Отправить комментарий