MD5 हैश जनरेटर
अपने ब्राउज़र में किसी भी टेक्स्ट का MD5 हैश तुरंत बनाएँ। UTF-8, हेक्स या Base64 इनपुट; हेक्स या Base64 आउटपुट। मुफ़्त, निजी, बिना अपलोड।
पूरी तरह आपके ब्राउज़र में चलता है। आपका डेटा कभी अपलोड नहीं होता।
MD5 हैश जनरेटर क्या है?
MD5, RFC 1321 का 128-बिट हैश है, जो चेकसम, कैश की और डुप्लिकेट हटाने के लिए आज भी व्यापक रूप से इस्तेमाल होता है। यह टूल टाइप करते ही टेक्स्ट या रॉ बाइट (हेक्स या Base64) का 128-बिट MD5 डाइजेस्ट निकालता है और उसे 32 हेक्स अक्षरों या Base64 में दिखाता है।
MD5 हैश जनरेटर का उपयोग कैसे करें
- अपना इनपुट हैश करने के लिए टेक्स्ट में टाइप या पेस्ट करें; डाइजेस्ट टाइप करते ही अपडेट होता है (खाली बॉक्स खाली इनपुट का हैश दिखाता है)।
- इनपुट एन्कोडिंग चुनें: टेक्स्ट (UTF-8) अक्षरों को UTF-8 मानकर हैश करता है, हेक्स बाइट्स या Base64 डिकोड किए गए रॉ बाइट हैश करते हैं।
- आउटपुट फ़ॉर्मैट चुनें (हेक्स छोटे अक्षर, हेक्स बड़े अक्षर या Base64) और कॉपी करें दबाएँ।
उदाहरण
abc
900150983cd24fb0d6963f7d28e17f72
3 ASCII बाइट "abc" का MD5 (UTF-8, हेक्स छोटे अक्षर आउटपुट), मानक टेस्ट वेक्टर।
MD5 हैश जनरेटर का उपयोग कब करें
स्ट्रिंग हैश करने के लिए MD5 टेक्स्ट टूल का उपयोग करें: दस्तावेज़ या कोड से कोई मान दोहराना, टेस्ट वेक्टर बनाना, API सिग्नेचर का इनपुट मिलाना, या यह देखना कि प्रोग्राम को क्या आउटपुट देना चाहिए। हमलावरों से किसी चीज़ की सुरक्षा के लिए इसका उपयोग न करें; यह क्रिप्टोग्राफ़िक रूप से टूट चुका है। डाउनलोड की गई फ़ाइल जाँचने के लिए इसका उपयोग न करें: फ़ाइल की सामग्री टेक्स्ट बॉक्स में कॉपी करने से लाइन एंडिंग और एन्कोडिंग बदल जाती हैं, इसलिए MD5 फ़ाइल चेकसम टूल का उपयोग करें। जब डेटा कोई हमलावर दे सकता हो, तब इसके बजाय SHA-256 इस्तेमाल करें।
MD5 हैश जनरेटर कैसे काम करता है
MD5 संदेश को 512 बिट के गुणज तक पैड करता है (एक 1 बिट, शून्य, फिर 64-बिट लिटिल-एंडियन लंबाई) और हर ब्लॉक को चार 32-बिट शब्दों पर चार राउंड में, हर राउंड में 16 चरण के साथ प्रोसेस करता है। हर चरण में एक संदेश शब्द, sine से निकला स्थिरांक और एक रोटेशन मिलाया जाता है। अंतिम स्टेट, लिटिल-एंडियन में लिखी जाने पर, 128-बिट (32 हेक्स अक्षर) डाइजेस्ट बनती है। टेक्स्ट को पहले बाइट में बदला जाता है (डिफ़ॉल्ट UTF-8), इसलिए वही अक्षर हमेशा वही हैश देते हैं।
सामान्य उपयोग मामले
- यूनिट टेस्ट या फ़िक्स्चर में किसी स्ट्रिंग का अपेक्षित MD5 जाँचें
- डीबगर, पैकेट कैप्चर या प्रोटोकॉल स्पेक से कॉपी किए हेक्स बाइट हैश करें
- दो प्रोग्रामिंग भाषाओं में अलग आ रहे MD5 आउटपुट की तुलना करें
- टेक्स्ट से निश्चित (डिटरमिनिस्टिक) आइडेंटिफ़ायर या कैश की बनाएँ
- किसी पुराने सिस्टम में सहेजे गए पुराने MD5 मान दोहराएँ
सुरक्षा नोट
MD5 सुरक्षा के लिए टूट चुका है। इस पर व्यावहारिक कॉलिज़न हमले मौजूद हैं (जैसे 2008 का जाली CA सर्टिफ़िकेट और Flame मैलवेयर), इसलिए दो अलग फ़ाइलें एक ही MD5 साझा कर सकती हैं। अनजाने में हुई गड़बड़ी पकड़ने के लिए यह अब भी ठीक है, लेकिन सिग्नेचर, सर्टिफ़िकेट या पासवर्ड के लिए इसका उपयोग न करें; इसके बजाय SHA-256 या SHA-3 चुनें। सादे हैश पासवर्ड स्टोर करने के लिए भी उपयुक्त नहीं हैं: इसके लिए Argon2, scrypt या bcrypt जैसा धीमा, सॉल्ट वाला पासवर्ड हैश इस्तेमाल करें। सब कुछ आपके ब्राउज़र में ही स्थानीय रूप से निकलता है; आप जो टाइप करते हैं वह कहीं नहीं भेजा जाता।
अक्सर पूछे जाने वाले प्रश्न
क्या MD5 हैश को डिक्रिप्ट किया जा सकता है?
नहीं। हैश एन्क्रिप्शन नहीं है, इसलिए डिक्रिप्ट करने जैसा कुछ नहीं होता। जो वेबसाइटें MD5 को "उलटने" का दावा करती हैं, वे बस पहले से हैश की गई स्ट्रिंग की विशाल टेबलों में हैश खोजती हैं, जो छोटे या आम इनपुट के लिए काम करता है।
एक ही टेक्स्ट के लिए दो टूल अलग MD5 मान क्यों देते हैं?
आमतौर पर इसलिए कि बाइट अलग होते हैं: अंत में नई लाइन, Windows लाइन एंडिंग (CRLF) या अलग कैरेक्टर एन्कोडिंग। यह टूल बॉक्स की सामग्री के ठीक UTF-8 बाइट हैश करता है, या हेक्स या Base64 इनपुट चुनने पर रॉ बाइट हैश करता है।
एक अक्षर बदलने पर हैश पूरी तरह क्यों बदल जाता है?
यह एवलांच इफ़ेक्ट है, जिसके लिए हर क्रिप्टोग्राफ़िक हैश बनाया जाता है: इनपुट का एक बिट पलटने से आउटपुट के लगभग आधे 128 बिट बदल जाते हैं, इसलिए मिलते-जुलते इनपुट के डाइजेस्ट आपस में असंबंधित होते हैं।
क्या अंत में स्पेस या नई लाइन से फ़र्क पड़ता है?
हाँ। हाँ। हैश हर बाइट को शामिल करता है, इसलिए abc और उसके बाद नई लाइन वाला abc अलग MD5 मान देते हैं। पक्का करें कि इनपुट में ठीक वही बाइट हों जिन्हें आप हैश करना चाहते हैं।