2017-01-18 23 views
0

Я понимаю, что каждое приложение работает в своей песочнице.Сохраняет ли имя пользователя и пароль в плоском файле в приложении Android и делает его менее безопасным?

  1. Если это так, безопасно ли сохранять учетные данные в плоском файле?

  2. Помимо сохранения его в базе данных или по сети, что такое другие варианты сохранения учетных данных в приложении?

+1

Укоренившийся телефон может иметь доступ ко всем файлам, поэтому да его менее безопасно – X3Btel

ответ

1

Вы можете хранить учетные данные приложения в SharedPreferences в Android App вместо магазина в плоском файле.

+0

Но если он выключен или принудительно остановлен или удален из списка последних приложений, сохранит ли он эти учетные данные? – user3705478

+0

Да, он будет оставаться до тех пор, пока вы не очистите данные приложения от настройки. – Naitik

+1

он сохранит ваши данные в формате XML-файла, если вы хотите увидеть его, вы можете видеть через ADB. – Naitik

2

SharedPreferences также является плоским файлом и на самом деле не сохраняется. Все пользователи с доступом root могут читать SharedPreferences. Местоположение:

/data/data/package_name/shared_prefs 

Вы никогда не должны хранить учетные данные пользователя. Вы должны хранить маркеры доступа к серверу.

+0

Что вы имели в виду под «токенами доступа к серверу»? Вы имеете в виду хранить их на стороне сервера? – user3705478

+0

Если вы заботитесь о безопасности, вы не должны хранить учетные данные на стороне сервера. Они могут храниться как хэш-значение MD5. Никто не должен знать реальную ценность. Вы можете прочитать об OpenID и OAuth для реализации этого на стороне сервера. – Pufi

+0

Я предпочитаю хранить их в телефоне (или приложении), но не легко доступен. – user3705478