SQLite
 sql >> база данни >  >> RDS >> SQLite

Най-добрият вариант за съхраняване на потребителско име и парола в приложението за Android

Да, това е трудно за Android. Не искате да съхранявате паролата в обикновен текст в предпочитанията, защото всеки, който има руутирано устройство, основно ще показва паролата си на света. От друга страна, не можете да използвате криптирана парола, защото ще трябва да съхранявате своя ключ за криптиране/декриптиране някъде на устройството, което отново е податливо на root атака.

Едно решение, което използвах преди време, е сървърът да генерира "билет", който да предаде обратно на устройството, което е добре за определен период от време. Този билет се използва от устройството за цялата комуникация, като се използва SSL разбира се, така че хората да не могат да откраднат билета ви. По този начин потребителят удостоверява паролата си на сървъра веднъж, сървърът изпраща обратно билет с изтичащ срок и паролата никога не се съхранява никъде на устройството.

Няколко трикраки механизма за удостоверяване, като OpenID, Facebook, дори API на Google, използват този механизъм. Недостатъците са, че от време на време, когато билетът изтече, потребителят трябва да влезе отново.

В крайна сметка зависи от това колко сигурно искате да бъде вашето приложение. Ако това е просто за разграничаване на потребителите и не се съхранява свръхсекретна информация като банкови сметки или кръвни групи, тогава може би запазването на PWD в обикновен текст на устройството е просто добре :)

Успех, какъвто и метод да решите, е най-подходящ за вашата конкретна ситуация!

Редактиране:Трябва да отбележа, че тази техника прехвърля отговорността за сигурността на сървъра - ще искате да използвате солени хешове за сравнение на пароли на сървъра, идея, която ще видите в някои от другите коментари за този въпрос. Това предотвратява показването на паролата в обикновен текст навсякъде, освен в изгледа EditText на устройството, SSL комуникацията със сървъра и RAM паметта на сървъра, докато тя посолява и хешира паролата. Никога не се съхранява на диск, което е добро нещо™.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да добавя определен брой празни редове в sqlite?

  2. Лека инсталация на WordPress:Как да инсталирате WordPress с SQLite

  3. Конвертирайте SQLite в JSON

  4. Намерете стойности, които не съдържат числа в SQLite

  5. Вмъкнете JSON данни в базата данни SQLite в android