MySQL पासवर्ड हैशिंग कैसे काम करती है?

MySQL क्रिप्टोग्राफ़िक हैशिंग का उपयोग करके उपयोगकर्ता पासवर्ड को सुरक्षित रूप से संग्रहीत करता है। साधारण टेक्स्ट में पासवर्ड रखने के बजाय, MySQL उन्हें एक‑तरफ़ा गणितीय फ़ंक्शन द्वारा निश्चित‑लंबाई के हैश स्ट्रिंग में बदल देता है। जब कोई उपयोगकर्ता लॉग‑इन करने का प्रयास करता है, तो MySQL प्रदान किए गए पासवर्ड को हैश करता है और उसे संग्रहीत हैश से तुलना करता है। यदि दोनों मेल खाते हैं, तो प्रमाणीकरण सफल होता है। यह तरीका यह सुनिश्चित करता है कि यदि कोई डेटाबेस तक पहुँच प्राप्त कर ले, तो वह सीधे उपयोगकर्ता पासवर्ड नहीं पढ़ सकता।

आधुनिक MySQL Native Password एल्गोरिद्म SHA‑1 हैशिंग को दो बार लागू करता है: SHA1(SHA1(password))। यह डबल‑हैशिंग अतिरिक्त सुरक्षा परत प्रदान करती है। परिणामस्वरूप 40‑अक्षरों की हेक्साडेसिमल स्ट्रिंग के पहले एक एस्टेरिस्क (*) लगाया जाता है, जिससे यह संकेत मिलता है कि यह एक हैश्ड पासवर्ड है, जैसे *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19

उपकरण विवरण

यह MySQL Password Hash Generator MySQL और MariaDB डेटाबेस के साथ संगत प्रमाणीकरण हैश बनाता है। कोई भी पासवर्ड दर्ज करें और तुरंत वह हैश प्राप्त करें जिसे आप सीधे CREATE USER या ALTER USER जैसे SQL कथनों में उपयोग कर सकते हैं। यह उपकरण आधुनिक MySQL Native Password फ़ॉर्मेट (MySQL 4.1 और बाद के संस्करण) तथा पुराने सिस्टमों के लिए लेगेसी Old Password फ़ॉर्मेट दोनों का समर्थन करता है।

उदाहरण

MySQL Native Password (4.1+):

  • इनपुट: mypassword
  • आउटपुट: *FABE5482D5AADF36D028AC443D117BE1180B9725

Old Password (Pre-4.1):

  • इनपुट: mypassword
  • आउटपुट: 162eebfb6477e5d3

SQL उपयोग:

-- हैश्ड पासवर्ड के साथ उपयोगकर्ता बनाना
CREATE USER 'username'@'localhost' IDENTIFIED BY PASSWORD '*FABE5482D5AADF36D028AC443D117BE1180B9725';

-- मौजूदा उपयोगकर्ता पासवर्ड अपडेट करना
ALTER USER 'username'@'localhost' IDENTIFIED BY PASSWORD '*FABE5482D5AADF36D028AC443D117BE1180B9725';

विशेषताएँ

  • MySQL Native Password: MySQL 4.1+ और MariaDB के लिए SHA1(SHA1(password)) हैश उत्पन्न करता है
  • Legacy Old Password: पिछली MySQL 4.1 से पहले के हैश फ़ॉर्मेट को बैकवर्ड संगतता के लिए समर्थन देता है
  • रियल‑टाइम हैशिंग: टाइप करते ही हैश तुरंत अपडेट होता है
  • पासवर्ड दृश्यता टॉगल: आसान प्रविष्टि के लिए पासवर्ड इनपुट को दिखाएँ या छिपाएँ
  • वन‑क्लिक कॉपी: उत्पन्न हैश को क्लिपबोर्ड में जल्दी से कॉपी करें

उपयोग के मामले

  • डिप्लॉयमेंट स्क्रिप्ट में प्री‑हैश्ड पासवर्ड के साथ MySQL उपयोगकर्ता खाते बनाना
  • पासवर्ड हैश को संरक्षित रखते हुए MySQL डेटाबेस के बीच उपयोगकर्ताओं का माइग्रेशन
  • MySQL प्रमाणीकरण कॉन्फ़िगरेशन का परीक्षण और सत्यापन
  • MySQL‑संगत अनुप्रयोगों के लिए पासवर्ड हैश उत्पन्न करना
  • अपेक्षित बनाम वास्तविक हैश की तुलना करके प्रमाणीकरण समस्याओं का निवारण

समर्थित हैश फ़ॉर्मेट

फ़ॉर्मेट एल्गोरिद्म MySQL संस्करण आउटपुट उदाहरण
MySQL Native Password SHA1(SHA1(password)) 4.1+ *2470C0C06DEE42FD...
Old Password कस्टम हैश Pre-4.1 6f8c114b58f2ce9e

सुरक्षा संबंधी विचार

MySQL Native Password हैश सभी आधुनिक MySQL और MariaDB इंस्टॉलेशन के लिए अनुशंसित फ़ॉर्मेट है। Old Password फ़ॉर्मेट असुरक्षित माना जाता है और केवल उन लेगेसी सिस्टमों के साथ संगतता के लिए उपयोग किया जाना चाहिए जिन्हें अपग्रेड नहीं किया जा सकता। MySQL 8.0 ने caching_sha2_password को नया डिफ़ॉल्ट रूप में पेश किया है, लेकिन mysql_native_password अभी भी व्यापक रूप से समर्थित और सामान्यतः उपयोग किया जाता है।