उपयोग कैसे करें
- टेक्स्ट टाइप या पेस्ट करें, बाइट दर्ज करने के लिए इनपुट को “हेक्स” पर करें, या किसी फ़ाइल के सटीक बाइट हैश करने के लिए “फ़ाइल खोलें” पर क्लिक करें।
- “टेक्स्ट एनकोडिंग” को UTF-8 पर ही रहने दें, जब तक कि मूल हैश किसी दूसरे कैरेक्टर सेट वाले टेक्स्ट से न बनाया गया हो।
- “आउटपुट प्रकार” में “hex (छोटे अक्षर)”, “HEX (बड़े अक्षर)” या “Base64” चुनें।
- किसी डाउनलोड की जाँच के लिए प्रकाशित MD5 को “इससे तुलना करें” फ़ील्ड में पेस्ट करें और देखें कि “मेल खाता है” दिखता है या नहीं।
MD5 क्या है?
MD5 (Message-Digest Algorithm 5) को Ronald Rivest ने डिज़ाइन किया था और यह 1992 में RFC 1321 के रूप में प्रकाशित हुआ। यह इनपुट को 512-बिट ब्लॉक में पढ़ता है और 128-बिट डाइजेस्ट बनाता है, जिसे आमतौर पर 32 हेक्साडेसिमल अक्षरों या 24 Base64 अक्षरों में लिखा जाता है। एक ही इनपुट से हमेशा एक ही डाइजेस्ट बनता है, और इनपुट का एक भी बिट बदलने पर आउटपुट के लगभग आधे बिट बदल जाते हैं।
हैशिंग एकतरफ़ा प्रक्रिया है: इसमें कोई कुंजी नहीं होती और MD5 हैश को “डिक्रिप्ट” करके वापस इनपुट पाने का कोई तरीक़ा नहीं है। जो साइटें MD5 को उलटने का दावा करती हैं, वे हैश को हैश किए गए शब्दों और लीक हुए पासवर्ड की विशाल तालिकाओं में खोजती हैं; इसीलिए किसी छोटे पासवर्ड का बिना सॉल्ट वाला MD5 अक्सर कुछ ही सेकंड में मिल जाता है।
क्या MD5 अब भी सुरक्षित है?
हमलावर के सामने नहीं। Xiaoyun Wang और उनके सहयोगियों ने 2004 में व्यावहारिक कॉलिज़न (टकराव) प्रकाशित किए: दो अलग-अलग इनपुट जिनका MD5 एक ही है। इसके बाद chosen-prefix कॉलिज़न आए: 2008 में शोधकर्ताओं ने ऐसे ही एक कॉलिज़न से नकली CA सर्टिफ़िकेट बनाया, और 2012 में Flame मैलवेयर ने इसी तरह के कॉलिज़न से एक जाली सर्टिफ़िकेट तैयार किया, जिससे उसका कोड Microsoft द्वारा साइन किया हुआ लगता था। आज एक साधारण लैपटॉप कुछ ही सेकंड में MD5 कॉलिज़न ढूँढ़ लेता है, और RFC 6151 के अनुसार जहाँ कॉलिज़न प्रतिरोध ज़रूरी हो, जैसे डिजिटल सिग्नेचर में, वहाँ MD5 अब स्वीकार्य नहीं है।
आकस्मिक नुकसान, जैसे अधूरा डाउनलोड या डिस्क पर पलटा हुआ कोई बिट, पकड़ने वाले चेकसम के रूप में MD5 अब भी ठीक है, और कैश कुंजियों या भरोसेमंद डेटा से डुप्लिकेट हटाने के लिए भी। जब फ़ाइल या उसका चेकसम किसी हमलावर से आ सकता हो, तो इसके बजाय SHA-256 का उपयोग करें।
हेक्स, Base64 और मेल न खाने वाले हैश
MD5 आमतौर पर हेक्स में लिखा जाता है, और md5sum भी यही आउटपुट देता है। कुछ प्रोटोकॉल इसके बजाय रॉ 16 बाइट को Base64 में भेजते हैं, उदाहरण के लिए HTTP Content-MD5 हेडर, जिसका उपयोग Amazon S3 जैसे क्लाउड स्टोरेज API करते हैं। Base64 आउटपुट चुनें, या किसी मौजूदा मान को हेक्स से Base64 से बदलें।
अगर आपका MD5 किसी दूसरे टूल से अलग है, तो इनपुट बाइट अलग हैं। आम कारण हैं: अंत में एक न्यूलाइन, Windows लाइन एंडिंग या कोई दूसरी टेक्स्ट एनकोडिंग। "café" UTF-8 में 5 बाइट का है लेकिन ISO-8859-1 में 4 बाइट का, इसलिए दोनों हैश में कोई समानता नहीं होती।
$ echo "hello" | md5sum # "hello\n" को हैश करता है
b1946ac92492d2347c6235b4d2611184 -
$ printf 'hello' | md5sum # "hello" को हैश करता है
5d41402abc4b2a76b9719d911017c592 -
कमांड लाइन और कोड में MD5
md5sum file.iso # Linux
md5 file.iso # macOS
certutil -hashfile file.iso MD5 # Windows
Get-FileHash file.iso -Algorithm MD5 # PowerShell
# Python
import hashlib
hashlib.md5('hello'.encode('utf-8')).hexdigest()
// Node.js
require('crypto').createHash('md5').update('hello', 'utf8').digest('hex')
ब्राउज़र में बने Web Crypto API में MD5 शामिल नहीं है, इसलिए यह पेज इसकी गणना आपके डिवाइस पर JavaScript में करता है; कुछ भी अपलोड नहीं होता। परिणाम के नीचे “सभी एल्गोरिदम” तालिका उसी इनपुट के SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 और CRC-32C दिखाती है।
उदाहरण
| इनपुट (UTF-8) | MD5 |
|---|---|
Hello, World! | 65a8e27d8879283831b664bd8b7f0ad4 |
Base64.is | 2e3c0e8b828164a8db7f62146ca87e14 |
你好 | 7eca689f0d3389d9dea66ae112e5cfd7 |
अक्सर पूछे जाने वाले प्रश्न
क्या MD5 हैश को डिक्रिप्ट किया जा सकता है?
क्या किसी डाउनलोड की जाँच के लिए MD5 काफ़ी है?
यह आकस्मिक ख़राबी को भरोसेमंद ढंग से पकड़ लेता है। लेकिन कॉलिज़न बनाना सस्ता है, इसलिए पहले से फ़ाइल तैयार करने वाला कोई व्यक्ति उसी MD5 वाली एक दूसरी, अलग फ़ाइल बना सकता है। सुरक्षा से जुड़े डाउनलोड के लिए किसी भरोसेमंद स्रोत से मिला SHA-256 हैश या सिग्नेचर जाँचें।
MD5 हैश कितना लंबा होता है?
== होता है। 32 अक्षरों की हेक्स स्ट्रिंग MD4 या NTLM हैश भी हो सकती है; हैश आइडेंटिफ़ायर संभावित एल्गोरिदम की सूची देता है।क्या बड़ी फ़ाइल का MD5 निकाला जा सकता है?
md5sum या certutil से हैश करना बेहतर है।