Intereting Posts
Обнаружение бумаги Android с помощью OpenCV Column_id не существует Неразрешенный справочник DaggerApplicationComponent Очистить краску с холста без очистки фонового изображения – Android Android: создание форматированной кнопки Android: Ellipsise, смысл опций Улавливание события при выпадении счетчика Как обрабатывать код, когда приложение убито путем прокрутки в android? Ошибка Android: «Не удалось создать экземпляр epoll», или «Не удалось создать обратный канал» Как CursorLoader автоматически обновляет представление, даже если приложение неактивно? Как установитьCurrentPage в ViewPager в соответствии с выбором пользователя и как узнать, какой элемент списка называется активностью Переключение активности взад и вперед на Android Установить положение TextView в RemoteView во время выполнения Android NDK в студии Android> = 1.4 Как настроить инъекцию зависимостей с помощью кинжала для вещей, отличных от действий и фрагментов?

Есть ли способ безопасно хранить данные пользователя на устройстве Android?

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

Очевидно, я не могу просто разместить это как файл на устройстве, так как каждый может root / найти данные. Существует ли встроенный метод Android для хранения защищенных данных, заблокированных паролем? Если нет, то что хорошего места для безопасного хранения этих данных с помощью Java?

Изменить: Чтобы уточнить, когда я говорю, что пользователь вводит пароль, я не имею в виду, что у меня есть способ защитить данные. Я просто пытаюсь передать метод, с помощью которого пользователь будет защищать данные на своем конце; Теперь я пытаюсь понять, как сохранить свой конец сделки. 🙂

Вы можете использовать включенные классы javax.crypto для шифрования любой конфиденциальной информации.

Для некоторых примеров вы можете просмотреть исходный код приложения « Секреты для Android» .

Секреты Android – это приложение для безопасного хранения и управления паролями и секретами на вашем телефоне Android. Он использует такие методы, как надежное шифрование и автоматическое выключение, чтобы гарантировать, что ваши секреты остаются в безопасности (при условии, что вы используете хороший мастер-пароль!). Контекстно-зависимые советы помогут вам в этом, облегчив использование.

Очевидно, я не могу просто разместить это как файл на устройстве, так как каждый может root / найти данные.

Правда, но если вы разрешаете пользователю определять пароль для файла резервной копии, то кому-то, кто украл файл, все равно придется взломать шифрование. Они могут узнать алгоритм, который вы используете, но не пароль.

Существует ли встроенный метод Android для хранения защищенных данных, заблокированных паролем?

Сам Android не предлагает зашифрованного хранилища файлов. Вы можете сами зашифровать файлы, что я и предполагал, что вы делали, когда писали, что «пользователь вводит пароль для защиты данных».

Посмотрите на SQLCipher для Android. Вы можете сохранить эту информацию в базе данных, а затем зашифровать ее с помощью 256-битного AES. http://sqlcipher.net/sqlcipher-for-android/ Основной проект является propriatery, но вы можете бесплатно получить бинарные файлы Android через GitHub, а также некоторые примеры использования.