MD2 हैश जनरेटर

अपने ब्राउज़र में किसी भी टेक्स्ट का MD2 हैश तुरंत बनाएँ। UTF-8, हेक्स या Base64 इनपुट; हेक्स या Base64 आउटपुट। मुफ़्त, निजी, बिना अपलोड।

MD2 क्रिप्टोग्राफ़िक रूप से टूट चुका है (टकराव बनाए जा सकते हैं)। इसे केवल चेकसम या पुराने सिस्टम की संगतता के लिए उपयोग करें, सुरक्षा के लिए नहीं।
MD2

पूरी तरह आपके ब्राउज़र में चलता है। आपका डेटा कभी अपलोड नहीं होता।

MD2 हैश जनरेटर क्या है?

MD2, Ron Rivest द्वारा 1989 में 8-बिट मशीनों के लिए डिज़ाइन किया गया 128-बिट मैसेज डाइजेस्ट है, जिसकी विशिष्टता RFC 1319 में है। यह टूल टाइप करते ही टेक्स्ट या रॉ बाइट (हेक्स या Base64) का 128-बिट MD2 डाइजेस्ट निकालता है और उसे 32 हेक्स अक्षरों या Base64 में दिखाता है।

MD2 हैश जनरेटर का उपयोग कैसे करें

  1. अपना इनपुट हैश करने के लिए टेक्स्ट में टाइप या पेस्ट करें; डाइजेस्ट टाइप करते ही अपडेट होता है (खाली बॉक्स खाली इनपुट का हैश दिखाता है)।
  2. इनपुट एन्कोडिंग चुनें: टेक्स्ट (UTF-8) अक्षरों को UTF-8 मानकर हैश करता है, हेक्स बाइट्स या Base64 डिकोड किए गए रॉ बाइट हैश करते हैं।
  3. आउटपुट फ़ॉर्मैट चुनें (हेक्स छोटे अक्षर, हेक्स बड़े अक्षर या Base64) और कॉपी करें दबाएँ।

उदाहरण

इनपुट
abc
आउटपुट
da853b0d3f88d99b30283a69e6ded6bb

3 ASCII बाइट "abc" का MD2 (UTF-8, हेक्स छोटे अक्षर आउटपुट), मानक टेस्ट वेक्टर।

MD2 हैश जनरेटर का उपयोग कब करें

स्ट्रिंग हैश करने के लिए MD2 टेक्स्ट टूल का उपयोग करें: दस्तावेज़ या कोड से कोई मान दोहराना, टेस्ट वेक्टर बनाना, API सिग्नेचर का इनपुट मिलाना, या यह देखना कि प्रोग्राम को क्या आउटपुट देना चाहिए। हमलावरों से किसी चीज़ की सुरक्षा के लिए इसका उपयोग न करें; यह क्रिप्टोग्राफ़िक रूप से टूट चुका है। डाउनलोड की गई फ़ाइल जाँचने के लिए इसका उपयोग न करें: फ़ाइल की सामग्री टेक्स्ट बॉक्स में कॉपी करने से लाइन एंडिंग और एन्कोडिंग बदल जाती हैं, इसलिए MD2 फ़ाइल चेकसम टूल का उपयोग करें। किसी भी नए काम के लिए SHA-256 या SHA3-256 इस्तेमाल करें।

MD2 हैश जनरेटर कैसे काम करता है

MD2 संदेश को 16 बाइट के गुणज तक पैड करता है (हर पैडिंग बाइट पैडिंग बाइट की संख्या के बराबर होता है), pi के अंकों से बनी सब्स्टिट्यूशन टेबल से निकला 16-बाइट चेकसम जोड़ता है, और फिर हर 16-बाइट ब्लॉक को उसी S-box से 48-बाइट स्टेट पर 18 राउंड में प्रोसेस करता है। स्टेट के पहले 16 बाइट 128-बिट डाइजेस्ट होते हैं। यह बाइट-ओरिएंटेड है और आधुनिक हैश की तुलना में बहुत धीमा है। टेक्स्ट को पहले बाइट में बदला जाता है (डिफ़ॉल्ट UTF-8), इसलिए वही अक्षर हमेशा वही हैश देते हैं।

सामान्य उपयोग मामले

  • यूनिट टेस्ट या फ़िक्स्चर में किसी स्ट्रिंग का अपेक्षित MD2 जाँचें
  • डीबगर, पैकेट कैप्चर या प्रोटोकॉल स्पेक से कॉपी किए हेक्स बाइट हैश करें
  • दो प्रोग्रामिंग भाषाओं में अलग आ रहे MD2 आउटपुट की तुलना करें
  • टेक्स्ट से निश्चित (डिटरमिनिस्टिक) आइडेंटिफ़ायर या कैश की बनाएँ
  • किसी पुराने सिस्टम में सहेजे गए पुराने MD2 मान दोहराएँ

सुरक्षा नोट

MD2 अप्रचलित और असुरक्षित है। इस पर प्रीइमेज और कॉलिज़न हमले ज्ञात हैं (RFC 6149 ने MD2 को Historic दर्जे में डाल दिया)। इसे केवल पुराने सिस्टम, जैसे पुराने X.509 सर्टिफ़िकेट, के मान दोहराने या जाँचने के लिए इस्तेमाल करें; सिग्नेचर, पासवर्ड या हमलावर के विरुद्ध अखंडता के लिए कभी नहीं। सादे हैश पासवर्ड स्टोर करने के लिए भी उपयुक्त नहीं हैं: इसके लिए Argon2, scrypt या bcrypt जैसा धीमा, सॉल्ट वाला पासवर्ड हैश इस्तेमाल करें। सब कुछ आपके ब्राउज़र में ही स्थानीय रूप से निकलता है; आप जो टाइप करते हैं वह कहीं नहीं भेजा जाता।

अक्सर पूछे जाने वाले प्रश्न

कोई अब भी MD2 का उपयोग क्यों करेगा?

मुख्यतः पुराना डेटा जाँचने के लिए: 1990 के दशक के कुछ पुराने X.509 सर्टिफ़िकेट और PKCS#1 सिग्नेचर md2WithRSAEncryption इस्तेमाल करते थे। आज उन मानों को दोहराना ही इसका एकमात्र व्यावहारिक उपयोग है।

क्या MD2, MD4 या MD5 के समान है?

नहीं। इनका 128-बिट आउटपुट आकार और डिज़ाइनर एक ही हैं, लेकिन MD2 एकदम अलग बाइट-ओरिएंटेड संरचना और pi-आधारित S-box इस्तेमाल करता है। एक ही इनपुट के डाइजेस्ट असंबंधित होते हैं: abc का MD2 में da853b0d… और MD5 में 900150983c… है।

एक अक्षर बदलने पर हैश पूरी तरह क्यों बदल जाता है?

यह एवलांच इफ़ेक्ट है, जिसके लिए हर क्रिप्टोग्राफ़िक हैश बनाया जाता है: इनपुट का एक बिट पलटने से आउटपुट के लगभग आधे 128 बिट बदल जाते हैं, इसलिए मिलते-जुलते इनपुट के डाइजेस्ट आपस में असंबंधित होते हैं।

क्या अंत में स्पेस या नई लाइन से फ़र्क पड़ता है?

हाँ। हाँ। हैश हर बाइट को शामिल करता है, इसलिए abc और उसके बाद नई लाइन वाला abc अलग MD2 मान देते हैं। पक्का करें कि इनपुट में ठीक वही बाइट हों जिन्हें आप हैश करना चाहते हैं।

और श्रेणियाँ देखें