MD5 हैश कैलकुलेटर क्या है?
MD5 हैश कैलकुलेटर आपके दिए गए किसी भी टेक्स्ट का 128-बिट MD5 मैसेज डाइजेस्ट निकालता है। MD5 (Message-Digest Algorithm 5, जिसे RFC 1321 में परिभाषित किया गया है) किसी भी लंबाई के इनपुट को लेकर एक तय 32-अक्षर का हेक्साडेसिमल फ़िंगरप्रिंट बनाता है। एक ही इनपुट से हमेशा वही हैश बनता है, जबकि सिर्फ़ एक अक्षर बदलने पर भी नतीजा पूरी तरह अलग आ जाता है।
इसका इस्तेमाल कैसे करें
अपना टेक्स्ट इनपुट बॉक्स में टाइप करें या पेस्ट करें और सबमिट करें। कैलकुलेटर आपके टेक्स्ट को UTF-8 बाइट्स में एनकोड करता है, MD5 एल्गोरिदम लगाता है, और लोअरकेस हेक्साडेसिमल डाइजेस्ट के साथ इनपुट की लंबाई (अक्षरों में) और उसका आकार (UTF-8 बाइट्स में) दिखाता है। बॉक्स खाली छोड़ देने पर आपको खाली स्ट्रिंग का जाना-पहचाना हैश दिखेगा।
फ़ॉर्मूला समझें
MD5 एक Merkle–Damgård संरचना पर आधारित है। मैसेज में पहले एक 0x80 बाइट जोड़ी जाती है, फिर ज़ीरो तब तक जोड़े जाते हैं जब तक लंबाई 56 mod 64 बाइट्स न हो जाए, और आख़िर में मूल बिट-लंबाई को 64-बिट little-endian मान के रूप में जोड़ दिया जाता है। पैड किए गए मैसेज को 512-बिट ब्लॉक्स में बाँटा जाता है, और हर ब्लॉक को चार राउंड में 64 ऑपरेशन के ज़रिए प्रोसेस किया जाता है — इसमें नॉनलीनियर फ़ंक्शन, sin से निकाले गए प्रति-स्टेप कॉन्स्टेंट, और left-rotation का इस्तेमाल होता है। चार 32-बिट स्टेट वर्ड (\(A\), \(B\), \(C\), \(D\)) तय seeds से शुरू होते हैं और हर ब्लॉक के लिए अपडेट होते हैं; इनका अंतिम little-endian जोड़ ही डाइजेस्ट होता है।
हल किया गया उदाहरण
खाली स्ट्रिंग ("") में शून्य बाइट होते हैं। पैडिंग के बाद यह एक ही 512-बिट ब्लॉक बन जाती है, और MD5 का नतीजा होता है d41d8cd98f00b204e9800998ecf8427e। टेक्स्ट "hello" (5 बाइट) का हैश है 5d41402abc4b2a76b9719d911017c592।
अक्सर पूछे जाने वाले सवाल
क्या MD5 सुरक्षित है? नहीं। MD5 क्रिप्टोग्राफ़िक तौर पर टूट चुका है — इसमें collision आसानी से बनाई जा सकती हैं। इसे सिर्फ़ checksum और गैर-सुरक्षा फ़िंगरप्रिंट के लिए इस्तेमाल करें, पासवर्ड या डिजिटल हस्ताक्षर के लिए नहीं।
बाइट गिनती और कैरेक्टर गिनती अलग क्यों होती है? गैर-ASCII अक्षर UTF-8 में एक से ज़्यादा बाइट लेते हैं, इसलिए 3 अक्षर वाली एक इमोजी स्ट्रिंग कई बाइट की हो सकती है।
क्या इनपुट के अपर/लोअरकेस से फ़र्क पड़ता है? हाँ। "Hello" और "hello" के हैश पूरी तरह अलग आते हैं।