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

MySQL डेटा और हैशेड पासवर्ड का उपयोग करके PHP लॉगिन

MD5 का उपयोग करने या पासवर्ड को डिक्रिप्ट करने का प्रयास करने के बजाय - जैसा कि यहां अन्य ने सुझाव दिया है - बस PHP के मूल पासवर्ड_हैश () फ़ंक्शन जो स्वचालित रूप से जांचता है कि पासवर्ड आपके लिए सही है या नहीं।

पासवर्ड को इस तरह एन्क्रिप्ट करें:

$unencrypted_password = 'secret!'; 
$encrypted_password = password_hash($unencrypted_password,  PASSWORD_DEFAULT);

फिर अपने DB में इस तरह डालें:

INSERT INTO users (encrypted_password, username) VALUES ($encrypted_password, $username);

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

SELECT encrypted_password FROM users WHERE username = $username;

अंत में, passoword_verify() का उपयोग करके जांच लें कि पासवर्ड सही है या नहीं। :

$correct = password_verify($unecnrypted_password, $encrypted_password);
if($correct == true) {
    echo 'correct password!';
} else {
    echo 'password incorrect!';
}

SQL-इंजेक्शन से बचाव के लिए सावधान रहें, क्योंकि उपरोक्त कोड इसके लिए असुरक्षित है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक longblob के लिए MySQL डेटाबेस से खाली PHP आउटपुट

  2. टेक्स्ट स्थिति का पता लगाएँ, टेक्स्ट निकालें और MySQL में नए कॉलम में डालें

  3. MySQL:जांचें कि क्या उपयोगकर्ता मौजूद है और इसे छोड़ दें

  4. डेटाबेस में एक यूनिकोड वर्ण डालें

  5. MySQL/PDO डेटा को छोटा करता है