2010-04-09 3 views
10

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

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

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

+0

@ Даниэль: Также фанат Braid? –

+0

@Martijn: Очень. :) Я должен исправить альфа-каналы на моем значке. –

+0

Я написал (накрыл) Braid на Java. Он работает хорошо! –

ответ

9

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

Для некоторых примеров можно ознакомиться с исходным кодом приложения Secrets for Android.

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

8

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

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

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

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

0

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

+0

Как вы будете хранить ключ? – dimitris93

Смежные вопросы