Есть ли способ безопасно хранить пользовательские данные на устройстве Android? - PullRequest
10 голосов
/ 09 апреля 2010

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

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

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

Ответы [ 3 ]

9 голосов
/ 09 апреля 2010

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

Вы можете просмотреть исходный код приложения Secrets для Android для некоторых примеров.

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

8 голосов
/ 09 апреля 2010

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

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

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

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

0 голосов
/ 15 марта 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...