MySQL के MD5() फ़ंक्शन का उपयोग करके प्लेनटेक्स्ट पासवर्ड कॉलम से हैश कॉलम अपडेट करें।
टेबल बनाएं
mysql> CREATE TABLE DemoTable1887 (
Password TEXT,
HashPassword TEXT
);
डेटा डालें
mysql> INSERT INTO DemoTable1887(Password) VALUES('John@9089'), ('90987_Carol'), ('656464_David_4343');
MD5 हैश से अपडेट करें
mysql> UPDATE DemoTable1887 SET HashPassword = MD5(Password);
आउटपुट:
+-------------------+----------------------------------+ | Password | HashPassword | +-------------------+----------------------------------+ | John@9089 | 7f92a7e09ab1a0cd3f36ec164f035c9a | | 90987_Carol | 1578fa8c47f0e53a898c8ada5c0111b4 | | 656464_David_4343 | e5ec2bd2cb55b2252be7ca9eb546659e | +-------------------+----------------------------------+
सुरक्षा चेतावनी
- बहुत तेज़ (ब्रूट-फोर्स आसान)।
- कोई साल्ट नहीं (रेनबो टेबल हमला)।
- टकराव भेद्यता।
अनुशंसित विकल्प
- एप्लिकेशन लेयर पर हैश करें: bcrypt, Argon2, PBKDF2 (लागत पैरामीटर के साथ)।
- MySQL 8.0:
SHA2(str, 256)याSHA2(str, 512)(अभी भी तेज़, साल्ट स्वयं जोड़ें)। - कभी भी प्लेनटेक्स्ट पासवर्ड संग्रहीत न करें।
MySQL में SHA2 उदाहरण
UPDATE DemoTable1887 SET HashPassword = SHA2(CONCAT('salt_', Password), 256);