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

PHP और MySQL के साथ मेरे हैश को सलाम करना

सबसे पहले, आपके DBMS (MySQL) को क्रिप्टोग्राफ़िक हैश के लिए किसी समर्थन की आवश्यकता नहीं है। आप वह सब PHP की तरफ से कर सकते हैं, और आपको भी यही करना चाहिए।

अगर आप नमक और हैश को एक ही कॉलम में स्टोर करना चाहते हैं तो आपको उन्हें जोड़ना होगा।

// the plaintext password
$password = (string) $_GET['password'];

// you'll want better RNG in reality
// make sure number is 4 chars long
$salt = str_pad((string) rand(1, 1000), 4, '0', STR_PAD_LEFT);

// you may want to use more measures here too
// concatenate hash with salt
$user_password = sha512($password . $salt) . $salt;

अब, यदि आप किसी पासवर्ड को सत्यापित करना चाहते हैं तो आप:

// the plaintext password
$password = (string) $_GET['password'];

// the hash from the db
$user_password = $row['user_password'];

// extract the salt
// just cut off the last 4 chars
$salt = substr($user_password, -4);
$hash = substr($user_password, 0, -4);

// verify
if (sha512($password . $salt) == $hash) {
  echo 'match';
}

आप phpass पर एक नज़र डालना चाहेंगे , जो इस तकनीक का भी उपयोग करता है। यह एक PHP हैशिंग समाधान है जो कुछ अन्य चीजों के साथ नमकीन का उपयोग करता है।

वुल्फऑड्रेड से जुड़े प्रश्न के उत्तर पर आपको निश्चित रूप से एक नज़र डालनी चाहिए।



  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 क्वेरी का चयन करें?

  3. JSON_STORAGE_FREE () - पता करें कि MySQL में JSON दस्तावेज़ के अपडेट के बाद कितना संग्रहण स्थान खाली हो गया था

  4. MySQL में सबक्वेरी पर GROUP_CONCAT का उपयोग करना

  5. MySQL लॉजिकल ऑपरेटर्स