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

क्रिप्ट का उपयोग करके हैशिंग पासवर्ड लॉगिन पर काम नहीं करता है यह गलत पास प्रदर्शित करता है

पंजीकरण पर आप एक अनूठा नमक बनाते हैं। वह नमक अब हैश का हिस्सा है। यदि आप बारीकी से देखते हैं, तो आप देखेंगे कि यह हैश के पहले भाग में एम्बेडेड है। पासवर्ड जांचने के लिए, पिछले हैश किए गए पासवर्ड के नमक का उपयोग करें, ताकि आप फिर से उसी नमक का उपयोग कर रहे हों।

$correctPasswordHash = getPasswordFromDatabase($_POST['username']);
$hash = crypt($_POST['password'], $correctPasswordHash);

if ($correctPasswordHash === $hash) ...

इसे आसान और अधिक फुलप्रूफ बनाने के लिए, password_compat लाइब्रेरी का उपयोग करें , जो इसे उपयोग में आसान एपीआई में लपेटता है, जिसे PHP के भविष्य के संस्करण में भी एकीकृत किया जाएगा। crypt . के सही उपयोग के लिए इसके स्रोत कोड का निरीक्षण करें , क्योंकि कुछ नुकसान हैं जिनका आपको ध्यान रखने की आवश्यकता है। Password_compat लाइब्रेरी एक साधारण === . के बजाय एक कस्टम बाइनरी तुलना का भी उपयोग कर रही है समय के हमलों को विफल करने के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक ही मॉडल केकेपीएचपी से कई संबंध

  2. MySQL 4 में अल्पविराम से अलग किए गए कॉलम को सारांशित करना (5 नहीं)

  3. डेटाबेस स्तर पर MySQL में वर्चर कॉलम को आज तक कनवर्ट करें

  4. डबल-क्वेरी के बिना MySQL पेजिनेशन?

  5. MySQL5.6 सेवा शुरू करने के प्रयास में प्रक्रिया पर अटक गया