एमडी5 क्या है? बाइट्स, 128-बिट डाइजेस्ट और आम ग़लतफ़हमियाँ

32-वर्ण MD5 मान को समझें, एक नियंत्रित उदाहरण पुन: प्रस्तुत करें और जानें कि हैशिंग एन्क्रिप्शन क्यों नहीं है।

बाइट्स का फ़िंगरप्रिंट, पढ़ने योग्य सारांश नहीं

MD5 का मतलब मैसेज-डाइजेस्ट एल्गोरिदम 5 है। यह बाइट्स लेता है और एक निश्चित 128-बिट परिणाम उत्पन्न करता है। हेक्साडेसिमल प्रति वर्ण चार बिट्स का उपयोग करता है, इसलिए सामान्य पूर्ण डिस्प्ले 32 वर्ण है। आउटपुट की लंबाई इनपुट फ़ाइल के साथ नहीं बढ़ती है, और एमडी5 मान में स्रोत की प्रतिवर्ती एन्कोडिंग शामिल नहीं होती है।

किसी दस्तावेज़ के दृश्यमान शब्द केवल एक संभावित प्रतिनिधित्व हैं। सहेजी गई फ़ाइल में हेडर, बाइट-ऑर्डर चिह्न, एम्बेडेड छवियां या मेटाडेटा भी हो सकता है। उस कलाकृति को फिंगरप्रिंट करने के लिए, उसके कच्चे बाइट्स से गणना करें। किसी टेक्स्ट स्ट्रिंग का परीक्षण करने के लिए, पहले वर्ण एन्कोडिंग को परिभाषित करें; इस साइट का टेक्स्ट इनपुट UTF-8 का उपयोग करता है।

एक छोटा सा उदाहरण पुनः प्रस्तुत करें

उद्धरण या अंतिम नई पंक्ति के बिना बिल्कुल abc दर्ज करें। अपेक्षित MD5 है:

900150983cd24fb0d6963f7d28e17f72

अब एक स्पेस या नई लाइन जोड़ें और फिर से जेनरेट करें। परिवर्तित डाइजेस्ट सामान्य है, रूपांतरण विफलता नहीं। इनपुट साफ़ करना और जानबूझकर जनरेट करना खाली स्ट्रिंग की गणना करता है, जिसका MD5 d41d8cd98f00b204e9800998ecf8427e है। प्रारंभिक प्रतीक्षा स्थिति स्वयं एक खाली-स्ट्रिंग गणना नहीं है।

नियतिवादी का मतलब अद्वितीय नहीं है

एक ही बाइट अनुक्रम हमेशा एक ही परिणाम उत्पन्न करता है, लेकिन एक सीमित 128-बिट आउटपुट प्रत्येक संभावित इनपुट को विशिष्ट रूप से पहचान नहीं सकता है। अलग-अलग इनपुट टकरा सकते हैं. एमडी5 में व्यावहारिक टकराव के हमले भी हैं, यही कारण है कि इसे आधुनिक डिजिटल हस्ताक्षरों या दावों को रेखांकित नहीं करना चाहिए कि सामग्री को दुर्भावनापूर्ण रूप से बदला नहीं जा सकता है।

संदर्भ उपयुक्त होने पर एक मिलान चेकसम अभी भी आकस्मिक परिवर्तनों का निदान करने में मदद कर सकता है। यह साबित नहीं करता है कि फ़ाइल हानिरहित है, कि प्रकाशक प्रामाणिक है, या संदर्भ सुरक्षित रूप से प्राप्त किया गया था। विश्वास की धारणा को हमेशा संख्यात्मक मिलान से अलग रखें।

हैशिंग, एन्क्रिप्शन और अनुमान लगाना

एन्क्रिप्शन को एक कुंजी के साथ प्लेनटेक्स्ट को पुनर्प्राप्त करने के लिए डिज़ाइन किया गया है। MD5 उस प्रतिवर्ती ऑपरेशन के लिए डिज़ाइन नहीं किया गया है। एक शब्दकोश या अनुमान लगाने वाली प्रणाली उम्मीदवारों की गणना करके परिचित इनपुट को पहचान सकती है, लेकिन यह एमडी5 डिक्रिप्शन फ़ंक्शन नहीं है। यह साइट पासवर्ड क्रैकिंग या लुकअप शब्दकोशों की पेशकश नहीं करती है।

फ़ास्ट अनसाल्टेड MD5 एक सुरक्षित पासवर्ड-स्टोरेज डिज़ाइन नहीं है। केवल परिचित-दिखने वाले हैश को देखने के लिए वास्तविक खाता रहस्य दर्ज न करें। HMAC टूल का उपयोग केवल तभी करें जब कुंजीयुक्त संदेश-प्रमाणीकरण परीक्षण कार्य हो; HMAC भी एन्क्रिप्शन नहीं है.

पूरा परिणाम पढ़ें और सुरक्षित रखें

अपरकेस और लोअरकेस हेक्स अक्षरों का मतलब समान बाइट्स है। चिपकाए गए मान के अंदर अतिरिक्त वर्ण, छोड़े गए अग्रणी शून्य या गायब अंतिम खंड तुलना को अमान्य बना सकते हैं। रिकॉर्ड डाउनलोड करते समय या किसी अन्य को चेकसम भेजते समय एल्गोरिदम का नाम पूरे परिणाम के साथ रखें।

संबंधित उपकरण और मार्गदर्शिकाएँ

आरएफसी 6151

प्रायः पूछे गये प्रश्न

यदि MD5 में 128 बिट्स हैं तो उसे 32 वर्णों के रूप में क्यों प्रदर्शित किया जाता है?

प्रत्येक हेक्साडेसिमल वर्ण चार बिट्स का प्रतिनिधित्व करता है। सभी 32 अक्षर मिलकर संपूर्ण 128-बिट डाइजेस्ट का प्रतिनिधित्व करते हैं; छोड़े गए अग्रणी शून्य उस प्रतिनिधित्व का हिस्सा खो देंगे।

क्या MD5 मान को डिक्रिप्ट किया जा सकता है?

नहीं, MD5 एक तरफ़ा डाइजेस्ट है, प्रतिवर्ती एन्क्रिप्शन नहीं। उम्मीदवार इनपुट का अनुमान लगाना एक अलग कार्य है और यह इस साइट द्वारा प्रदान की जाने वाली डिक्रिप्शन क्षमता नहीं है।

अन्य हैश और चेकसम टूल