क्रिप्टोग्राफ़िक हैश क्या है?
क्रिप्टोग्राफ़िक हैश किसी भी इनपुट को निश्चित आकार के डाइजेस्ट (SHA-256 के लिए 32 बाइट) में बदलता है, जिसमें एक ही इनपुट हमेशा वही डाइजेस्ट देता है, एक अक्षर का बदलाव पूरी तरह अलग डाइजेस्ट देता है, और आउटपुट से इनपुट वापस नहीं निकाला जा सकता। हैश फ़ाइल की अखंडता जाँचते हैं, कंटेंट का फ़िंगरप्रिंट बनाते हैं और सिग्नेचर व HMAC का आधार हैं। SHA-256 और SHA-2 परिवार वर्तमान हैं; MD5 और SHA-1 जानबूझकर बनाए गए कोलिज़न के विरुद्ध टूट चुके हैं और केवल चेकसम के रूप में इस्तेमाल होने चाहिए।
सुरक्षा नोट: सादा हैश पासवर्ड स्टोर नहीं है। पासवर्ड को धीमी, सॉल्टेड एल्गोरिद्म चाहिए — Argon2id, scrypt या bcrypt — क्योंकि SHA-256 और MD5 को प्रति सेकंड अरबों बार आज़माया जा सकता है।
MD5 जनरेटर कैसे इस्तेमाल करें
- जिस टेक्स्ट का हैश चाहिए उसे टाइप या पेस्ट करें।
- आउटपुट फ़ॉर्मेट चुनें।
- चाहें तो तुलना के लिए कोई ज्ञात हैश पेस्ट करें।
- डाइजेस्ट कॉपी करें।
MD5 जनरेटर की खूबियाँ
- शुद्ध TypeScript में MD5 (RFC 1321), आधिकारिक टेस्ट वेक्टर से जाँचा हुआ
- Hex (छोटे/बड़े अक्षर), Base64, Base64url और बाइनरी आउटपुट
- अपेक्षित हैश से तुलना — केस-असंवेदनशील, hex या Base64 में
- कमांड-लाइन टूल से आख़िरी न्यूलाइन के कारण होने वाले अंतर से बचने के लिए trim विकल्प
- टाइप करते ही UTF-8 टेक्स्ट की लाइव हैशिंग
MD5 जनरेटर का उदाहरण
एक पैनग्राम का MD5
इनपुट:
The quick brown fox jumps over the lazy dogआउटपुट:
9e107d9d372bb6826bd81d3542a419d6MD5 जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
क्या MD5 अब भी इस्तेमाल के लिए सुरक्षित है?
सुरक्षा के लिए नहीं। कोलिज़न सेकंडों में बनाए जा सकते हैं, इसलिए MD5 का इस्तेमाल पासवर्ड, सिग्नेचर या अविश्वसनीय डेटा की अखंडता के लिए नहीं करना चाहिए। ग़ैर-प्रतिकूल चेकसम, कैश की और पुराने सिस्टम से मेल बिठाने के लिए यह अब भी ठीक है।
मेरा हैश कमांड लाइन से अलग क्यों आता है?
echo अंत में एक न्यूलाइन जोड़ देता है, इसलिए "echo hello | md5sum" असल में "hello\n" का हैश निकालता है। printf इस्तेमाल करें या यहाँ "Trim whitespace" चालू करें। एन्कोडिंग भी मायने रखती है: यह टूल आपके टेक्स्ट के UTF-8 बाइट का हैश बनाता है।
क्या MD5 को उलटा किया जा सकता है?
गणितीय रूप से किसी भी हैश को उलटा नहीं किया जा सकता, लेकिन छोटे या आम इनपुट का MD5 रेनबो टेबल में आसानी से मिल जाता है। पासवर्ड के लिए इसका इस्तेमाल न करने की यह एक और वजह है।
WebCrypto में समर्थन न होने पर MD5 कैसे निकाला जाता है?
ब्राउज़र crypto.subtle में MD5 उपलब्ध नहीं कराते, इसलिए यह टूल RFC 1321 का एक छोटा, शुद्ध TypeScript कार्यान्वयन साथ रखता है, जिसे आधिकारिक टेस्ट वेक्टर से जाँचा गया है।
तकनीकी नोट्स
MD5 हर 512-बिट ब्लॉक को चार राउंड में प्रोसेस करके 128-बिट डाइजेस्ट बनाता है; हर राउंड में 16 ऑपरेशन होते हैं (कुल 64 चरण)। MD5 क्रिप्टोग्राफ़िक रूप से टूट चुका है, इसलिए ब्राउज़र उसे WebCrypto में लागू नहीं करते; यह टूल संदर्भ एल्गोरिदम का एक संक्षिप्त कार्यान्वयन साथ रखता है। यह इनपुट के UTF-8 बाइट पर काम करता है।
संदर्भ
- FIPS 180-4: Secure Hash Standard (SHS)अमेरिकी संघीय मानक जो SHA-1 और SHA-2 परिवार के हैश फ़ंक्शन निर्दिष्ट करता है।
- RFC 6234: US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)SHA-1, SHA-224/256/384/512 और HMAC में उनके उपयोग के संदर्भ विवरण और कोड।
- RFC 1321: The MD5 Message-Digest AlgorithmMD5 की मूल परिभाषा। MD5 अब सिग्नेचर और पासवर्ड के लिए टूटा हुआ माना जाता है; यह केवल चेकसम के रूप में उपयोगी है।