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

मैं mysql में md5 पासवर्ड कैसे बनाऊं और स्टोर करूं?

संपादित करें 2017/11/09:ओ जोन्स के उत्तर पर एक नज़र डालना सुनिश्चित करें।

सबसे पहले MD5 सबसे बड़ी हैशिंग विधि नहीं है जिसका उपयोग आप इस प्रयास के लिए sha256 या sha512

के लिए कर सकते हैं।

उस ने कहा कि hash('sha256') . का उपयोग करें इसके बजाय md5() प्रक्रिया के हैशिंग भाग का प्रतिनिधित्व करने के लिए।

जब आप पहली बार एक उपयोगकर्ता नाम और पासवर्ड बनाते हैं तो आपके पास कुछ नमक के साथ कच्चा पासवर्ड होगा (प्रत्येक पासवर्ड को लंबा/मजबूत बनाने के लिए कुछ यादृच्छिक अतिरिक्त वर्ण जोड़े जाते हैं)।

उपयोगकर्ता बनाने के फ़ॉर्म से कुछ ऐसा दिखाई दे सकता है:

$escapedName = mysql_real_escape_string($_POST['name']); # use whatever escaping function your db requires this is very important.
$escapedPW = mysql_real_escape_string($_POST['password']);

# generate a random salt to use for this account
$salt = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));

$saltedPW =  $escapedPW . $salt;

$hashedPW = hash('sha256', $saltedPW);

$query = "insert into user (name, password, salt) values ('$escapedName', '$hashedPW', '$salt'); ";

फिर लॉग इन करने पर यह कुछ इस तरह दिखेगा:

$escapedName = mysql_real_escape_string($_POST['name']);
$escapedPW = mysql_real_escape_string($_POST['password']);

$saltQuery = "select salt from user where name = '$escapedName';";
$result = mysql_query($saltQuery);
# you'll want some error handling in production code :)
# see http://php.net/manual/en/function.mysql-query.php Example #2 for the general error handling template
$row = mysql_fetch_assoc($result);
$salt = $row['salt'];

$saltedPW =  $escapedPW . $salt;

$hashedPW = hash('sha256', $saltedPW);

$query = "select * from user where name = '$escapedName' and password = '$hashedPW'; ";

# if nonzero query return then successful login


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या mysql इंडेक्सिंग के प्रदर्शन की जांच करने का कोई तरीका है

  2. क्या दशमलव मान को MySQL में varchar के रूप में स्टोर करना अच्छा है?

  3. PHP और AJAX के साथ निष्पादन के दौरान एक MySQL क्वेरी को मारना

  4. एमएएमपी इंस्टॉल पर टर्मिनल से MySQL कमांड कैसे चलाएं?

  5. पायथन के माध्यम से बैचों में MySQL से डेटा प्राप्त करना