SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

एंड्रॉइड ऐप में यूजरनेम और पासवर्ड स्टोर करने का सबसे अच्छा विकल्प

हाँ, यह Android पर मुश्किल है। आप प्लेनटेक्स्ट पासवर्ड को वरीयताओं में स्टोर नहीं करना चाहते हैं, क्योंकि रूटेड डिवाइस वाला कोई भी व्यक्ति मूल रूप से दुनिया को अपना पासवर्ड प्रदर्शित करेगा। दूसरी तरफ, आप एन्क्रिप्टेड पासवर्ड का उपयोग नहीं कर सकते, क्योंकि आपको अपनी एन्क्रिप्शन/डिक्रिप्शन कुंजी को डिवाइस पर कहीं स्टोर करना होगा, फिर से रूट अटैक के लिए अतिसंवेदनशील।

एक समाधान जो मैंने कुछ समय पहले उपयोग किया था, वह यह है कि सर्वर एक "टिकट" उत्पन्न करता है जिसे वह डिवाइस पर वापस भेजता है, जो एक निश्चित अवधि के लिए अच्छा है। इस टिकट का उपयोग डिवाइस द्वारा सभी संचार के लिए किया जाता है, निश्चित रूप से एसएसएल का उपयोग करके ताकि लोग आपका टिकट चोरी न कर सकें। इस तरह, उपयोगकर्ता एक बार सर्वर पर अपना पासवर्ड प्रमाणित करता है, सर्वर एक समाप्त होने वाली टिकट वापस भेजता है, और पासवर्ड डिवाइस पर कहीं भी संग्रहीत नहीं होता है।

कई तीन-पैर वाले प्रमाणीकरण तंत्र, जैसे ओपनआईडी, फेसबुक, यहां तक ​​​​कि Google एपीआई, इस तंत्र का उपयोग करते हैं। नकारात्मक पक्ष यह है कि हर बार जब टिकट की समय सीमा समाप्त हो जाती है, तो उपयोगकर्ता को फिर से लॉगिन करने की आवश्यकता होती है।

अंततः, यह इस बात पर निर्भर करता है कि आप अपने आवेदन को कितना सुरक्षित रखना चाहते हैं। यदि यह केवल उपयोगकर्ताओं को अलग करने के लिए है, और बैंक खातों या रक्त प्रकारों की तरह कोई सुपर-सीक्रेट जानकारी संग्रहीत नहीं की जा रही है, तो शायद डिवाइस पर पीडब्ल्यूडी को प्लेन टेक्स्ट में सहेजना ठीक है :)

सौभाग्य, जो भी तरीका आप तय करते हैं वह आपकी विशेष स्थिति के लिए सबसे अच्छा है!

संपादित करें:मुझे ध्यान रखना चाहिए कि यह तकनीक सर्वर पर सुरक्षा की ज़िम्मेदारी स्थानांतरित करती है - आप सर्वर पर पासवर्ड तुलना के लिए नमकीन हैश का उपयोग करना चाहेंगे, एक विचार जिसे आप इस प्रश्न के लिए कुछ अन्य टिप्पणियों में देखेंगे। यह प्लेनटेक्स्ट पासवर्ड को डिवाइस पर एडिटटेक्स्ट व्यू, सर्वर से एसएसएल संचार, और सर्वर की रैम को छोड़कर कहीं भी प्रदर्शित होने से रोकता है, जबकि यह पासवर्ड को नमक और हैश करता है। इसे कभी भी डिस्क पर संग्रहीत नहीं किया जाता है, जो कि एक अच्छी बात है।



  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 में JSON दस्तावेज़ से मान निकालने के 3 तरीके

  2. क्या हर बार एप्लिकेशन शुरू होने पर SQLite टेबल बनाना वाकई जरूरी है?

  3. अपग्रेड विधि पर Android sqlite में कॉल नहीं किया जा रहा है

  4. ग्रीन-डीएओ में द्वि दिशात्मक 1:m को संभालने का सही तरीका

  5. SQLite जाँच की कमी