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

उपयोगकर्ता क्रेडेंशियल्स को मान्य करने के लिए कौन सी विधि बेहतर है?

बात यह है कि... आपको स्टोर नमकीन, हैशेड करना चाहिए। पासवर्ड डेटाबेस में। चूंकि ये व्यक्तिगत रूप से नमकीन . हैं प्रति उपयोगकर्ता/पासवर्ड, आप नहीं उन्हें सीधे password = ? . के साथ देखें , क्योंकि आप नमक नहीं जानते हैं और इसलिए मिलान करने वाले हैश की अग्रिम गणना नहीं कर सकते हैं। अगर आप इसे ठीक से कर रहे हैं, तो आपको जरूरी उपयोगकर्ता रिकॉर्ड को पहले उपयोगकर्ता नाम से प्राप्त करें, फिर पुनर्प्राप्त नमक/हैश का उपयोग करके पासवर्ड हैश को सत्यापित करें। स्यूडोकोड:

$user = fetch_from_database($_POST['username']);

if (!$user) {
    throw new Exception("User doesn't exist");
}

if (!password_verify($_POST['password'], $user['password_hash'])) {
    throw new Exception('Invalid password');
}

echo 'Welcome ', $user['name'];

देखें http://php.net/password_hash , http://php.net/password_verify



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं पायथन में mysqldump का उपयोग किए बिना एक MySQL डेटाबेस को कैसे डंप कर सकता हूं?

  2. लूप परिणाम पीडीओ पीएचपी

  3. * के बजाय Sequelize (NodeJS) के साथ विशिष्ट फ़ील्ड निर्दिष्ट करना

  4. फुलटेक्स्ट इंडेक्स क्या है और मुझे इसका इस्तेमाल कब करना चाहिए?

  5. तालिका को एक स्कीमा से दूसरी स्कीमा में ले जाएं?