MD5 हैश

इनपुट0 वर्ण · 0 बाइट
示例:
All Hashes (side-by-side)
Computed via Web Crypto API
MD5
32 hex
SHA-1
40 hex
SHA-256
64 hex
SHA-384
96 hex
SHA-512
128 hex

मुफ्त ऑनलाइन MD5 हैश टूल। टेक्स्ट/फ़ाइल/बैच/HMAC-MD5 मोड, UTF-8/Latin1, बड़े अक्षर, 8-वर्ण समूहन। ⚠️ MD5 समझौता किया गया है — पासवर्ड संग्रहण के लिए उपयोग न करें।

संबंधित सुझाव

MD5 क्या है?

MD5 (संदेश-डाइजेस्ट एल्गोरिदम 5) रोनाल्ड रिवेस्ट द्वारा 1991 में डिज़ाइन किया गया एक 128-बिट हैश फ़ंक्शन है (RFC 1321), जो मनमाने इनपुट से एक निश्चित 32-वर्ण हेक्साडेसिमल डाइजेस्ट उत्पन्न करता है। कभी डिजिटल हस्ताक्षर, प्रमाणपत्र सत्यापन और पासवर्ड संग्रहण के लिए व्यापक रूप से उपयोग किया जाता था, MD5 2004 में वांग आदि के टक्कर हमले से समझौता किया गया था, और फ्लेम मैलवेयर ने 2008 में एक विश्वसनीय CA प्रमाणपत्र को जाली बनाने के लिए MD5 टक्करों का दुरुपयोग किया था।

**सुरक्षा स्थिति**: NIST ने SP 800-131A (2011) में डिजिटल हस्ताक्षरों के लिए MD5 को आधिकारिक रूप से अस्वीकार कर दिया। हालांकि, MD5 गैर-सुरक्षा परिदृश्यों के लिए उपयोगी बना हुआ है: यादृच्छिक भ्रष्टाचार के खिलाफ फ़ाइल अखंडता जांच, डेटा डुप्लिकेशन हटाना और कैश कुंजियाँ। मुख्य प्रश्न: क्या एक हमलावर को टक्कर बनाने से लाभ होगा? यदि नहीं, तो MD5 की गति एक लाभ है।

**पासवर्ड संग्रहण के लिए MD5 का कभी भी उपयोग न करें**: MD5 अत्यधिक तेज़ है (GPU पर अरबों हैश/सेकंड), जो सामान्य पासवर्ड को ब्रूट फोर्स से तुरंत तोड़ने की अनुमति देता है। पासवर्ड संग्रहण को bcrypt, scrypt या Argon2 का उपयोग करना चाहिए — समायोज्य लागत कारकों के साथ धीमे हैश जो ब्रूट फोर्स को अव्यावहारिक बनाते हैं।

**HMAC-MD5 अभी भी सुरक्षित है**: हालांकि सादा MD5 समझौता किया गया है, HMAC-MD5 (कुंजी के साथ हैश-आधारित संदेश प्रमाणीकरण कोड) तब सुरक्षित रहता है जब कुंजी अज्ञात हो, क्योंकि HMAC निर्माण सीधे अंतर्निहित हैश के टक्कर प्रतिरोध पर निर्भर नहीं करता है। फिर भी, HMAC-SHA256 में माइग्रेशन की सिफारिश की जाती है।

यह टूल शुद्ध जावास्क्रिप्ट MD5 कार्यान्वयन का उपयोग करता है (Web Crypto API अब MD5 का समर्थन नहीं करता है)। सभी गणनाएँ आपके ब्राउज़र में स्थानीय रूप से की जाती हैं — फ़ाइलें खंडित वृद्धिशील पठन का उपयोग करती हैं और कभी भी सर्वर पर अपलोड नहीं की जाती हैं।

उपयोग के मामले

  • फ़ाइल अखंडता: आधिकारिक चेकसम के साथ तुलना करने के लिए डाउनलोड के बाद MD5 की गणना करें
  • कॉन्फ़िगरेशन फ़ाइलों या रिलीज़ नोट्स के लिए बैच डाइजेस्ट जनरेशन
  • लीगेसी सिस्टम एकीकरण के लिए HMAC-MD5 हस्ताक्षर
  • तेज़ MD5 तुलना के माध्यम से डेटा डुप्लिकेशन हटाना
  • छोटे अद्वितीय पहचानकर्ताओं के रूप में कैश कुंजी जनरेशन
  • शिक्षा: MD5/SHA-1/SHA-256 आउटपुट की तुलना करके हैश एल्गोरिदम को समझना

उपयोग कैसे करें

  1. मोड चुनें: टेक्स्ट, फ़ाइल, बैच या HMAC-MD5
  2. विकल्प कॉन्फ़िगर करें: एन्कोडिंग, बड़े अक्षर, 8-वर्ण समूहन
  3. टेक्स्ट दर्ज करें, फ़ाइल अपलोड करें या बैच सामग्री पेस्ट करें
  4. सत्यापन या स्क्रिप्ट के लिए हैश परिणाम कॉपी करें

विशेषताएं

  • चार मोड: टेक्स्ट, फ़ाइल, पंक्ति के अनुसार बैच और HMAC-MD5, सामान्य चेकसम परिदृश्यों को कवर करते हैं
  • विभिन्न सिस्टम इनपुट के लिए चयन योग्य UTF-8/Latin1 एन्कोडिंग
  • पठनीयता के लिए बड़े अक्षर प्रदर्शन और 8-वर्ण समूहन
  • फ़ाइल खंडित हैशिंग: बड़ी फ़ाइलों के लिए वृद्धिशील पठन मेमोरी समस्याओं को रोकता है
  • बैच मोड: प्रत्येक पंक्ति को मूल→हैश आउटपुट के साथ स्वतंत्र रूप से हैश किया जाता है
  • एक क्लिक में परिणाम कॉपी करना

कोड उदाहरण

MD5/Hashing in JavaScript (Web Crypto supports SHA, MD5 needs library)

// Note: Web Crypto API does NOT support MD5 (deprecated)
// Use SHA-256 instead for new projects
async function sha256(message) {
  const msgBuffer = new TextEncoder().encode(message);
  const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);
  return Array.from(new Uint8Array(hashBuffer)).map(b => b.toString(16).padStart(2,'0')).join('');
}
sha256('Hello World').then(console.log);

// MD5 in Node.js using crypto module
const crypto = require('crypto');
const md5 = crypto.createHash('md5').update('Hello World').digest('hex');
console.log(md5); // b10a8db164e0754105b7a99be72e3fe5

MD5 Hashing in Python

import hashlib
text = 'Hello World'
md5_hash = hashlib.md5(text.encode('utf-8')).hexdigest()
print(md5_hash)  # b10a8db164e0754105b7a99be72e3fe5

# File MD5 (chunked for large files)
def md5_file(filepath, chunk_size=8192):
    md5 = hashlib.md5()
    with open(filepath, 'rb') as f:
        while chunk := f.read(chunk_size):
            md5.update(chunk)
    return md5.hexdigest()

# HMAC-MD5
import hmac
hmac_md5 = hmac.new(b'secret-key', b'Hello World', hashlib.md5).hexdigest()
print(hmac_md5)

MD5 Hashing in Java

import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;

public class MD5Example {
    public static String md5(String input) throws Exception {
        MessageDigest md = MessageDigest.getInstance("MD5");
        byte[] hash = md.digest(input.getBytes(StandardCharsets.UTF_8));
        StringBuilder sb = new StringBuilder();
        for (byte b : hash) sb.append(String.format("%02x", b));
        return sb.toString();
    }
    public static void main(String[] args) throws Exception {
        System.out.println(md5("Hello World"));
        // b10a8db164e0754105b7a99be72e3fe5
    }
}
// Note: Use SHA-256 for new code: MessageDigest.getInstance("SHA-256")

सामान्य प्रश्न

MD5 आमतौर पर किसके लिए उपयोग किया जाता है?

MD5 आमतौर पर फ़ाइल अखंडता जांच (जैसे, डाउनलोड सत्यापन), तेज़ डाइजेस्ट जनरेशन, लीगेसी सिस्टम संगतता, कैश कुंजियों और गैर-सुरक्षा परिदृश्यों में डेटा डुप्लिकेशन हटाने के लिए उपयोग किया जाता है। MD5 128 बिट (32 हेक्साडेसिमल वर्ण) उत्पन्न करता है और अत्यधिक तेज़ है, गैर-महत्वपूर्ण सत्यापन परिदृश्यों के लिए उपयुक्त है।

MD5 बनाम SHA-256?

MD5 128 बिट (32 hex) उत्पन्न करता है, अत्यधिक तेज़ लेकिन समझौता किया गया; SHA-256 256 बिट (64 hex) उत्पन्न करता है, धीमा लेकिन व्यावहारिक टक्कर हमले नहीं हैं और महत्वपूर्ण अनुप्रयोगों के लिए पसंद किया जाता है।

SHA-256 टूल

MD5 पासवर्ड के लिए असुरक्षित क्यों है?

MD5 अत्यधिक तेज़ है — आधुनिक GPU प्रति सेकंड अरबों हैश की गणना कर सकते हैं, और इंद्रधनुष तालिकाएँ सामान्य पासवर्ड को तुरंत तोड़ देती हैं। पासवर्ड संग्रहण के लिए bcrypt, scrypt या Argon2 का उपयोग करें।

पासवर्ड जनरेटर

MD5 समझौता किया गया है — क्या मैं अभी भी इसका उपयोग कर सकता हूं?

सुरक्षा के लिए बिल्कुल नहीं (डिजिटल हस्ताक्षर, पासवर्ड, TLS)। लेकिन गैर-सुरक्षा अनुप्रयोगों के लिए (फ़ाइल भ्रष्टाचार जांच, डुप्लिकेशन हटाना, कैश कुंजियाँ) MD5 अभी भी उपयुक्त है, क्योंकि हमलावरों को टक्कर बनाने का कोई प्रोत्साहन नहीं है।

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

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

क्या बड़ी फ़ाइलें अटकने का कारण बनेंगी?

नहीं। टूल खंडित वृद्धिशील पठन का उपयोग करता है — फ़ाइलें पूरी तरह से मेमोरी में लोड नहीं की जाती हैं, इसलिए यहां तक कि मल्टी-गीगाबाइट फ़ाइलें भी एक उत्तरदायी इंटरफ़ेस के साथ सुचारू रूप से संसाधित की जाती हैं।

सादे MD5 की तुलना में HMAC-MD5 क्या है?

HMAC-MD5 एक कुंजीयुक्त हैश है जिसे गुप्त कुंजी की आवश्यकता होती है। हालांकि सादा MD5 समझौता किया गया है, HMAC-MD5 तब सुरक्षित रहता है जब कुंजी अज्ञात हो (हालांकि HMAC-SHA256 में माइग्रेशन की सिफारिश की जाती है)।

HMAC जनरेटर

शब्दकोश

हैश फ़ंक्शन (Hash Function)
एक गणितीय फ़ंक्शन जो मनमाने लंबाई के इनपुट को निश्चित लंबाई के आउटपुट में मैप करता है। अच्छे हैश फ़ंक्शन एकतरफापन, टक्कर प्रतिरोध और हिमस्खलन प्रभाव प्रदान करते हैं।
टक्कर हमला (Collision Attack)
दो अलग-अलग इनपुट ढूंढना जो समान हैश आउटपुट उत्पन्न करते हैं। MD5 टक्करें 2004 में वांग आदि द्वारा प्रदर्शित की गईं, जिससे डिजिटल हस्ताक्षर जालसाजी संभव हुई।
प्रीइमेज हमला (Preimage Attack)
एक इनपुट ढूंढना जो दिए गए हैश आउटपुट को उत्पन्न करता है। टक्करों की तुलना में कठिन लेकिन 2024 में नए शोध ने MD5 के प्रीइमेज प्रतिरोध को काफी कमजोर कर दिया है।
इंद्रधनुष तालिका (Rainbow Table)
कमजोर पासवर्ड हैश को जल्दी से तोड़ने के लिए पूर्व-गणना की गई हैश→सादा पाठ लुकअप तालिकाएँ। साल्ट इंद्रधनुष तालिकाओं को हरा देते हैं।
HMAC (हैश-आधारित संदेश प्रमाणीकरण कोड)
संदेश अखंडता/प्रमाणीकरण के लिए एक गुप्त कुंजी का उपयोग करने वाला एक हैश-आधारित संदेश प्रमाणीकरण कोड। HMAC-MD5 और HMAC-SHA256 सामान्य प्रकार हैं।HMAC जनरेटर
bcrypt
अंतर्निहित साल्टिंग और समायोज्य लागत कारक के साथ एक धीमा पासवर्ड हैशिंग एल्गोरिदम, जो ब्रूट फोर्स हमलों को अत्यधिक महंगा बनाता है।
चेकसम (Checksum)
डेटा अखंडता को सत्यापित करने के लिए उपयोग किया जाने वाला एक छोटा निश्चित मान। MD5, SHA-1, SHA-256 आमतौर पर ट्रांसमिशन के दौरान भ्रष्टाचार का पता लगाने के लिए चेकसम के रूप में उपयोग किए जाते हैं।
हिमस्खलन प्रभाव (Avalanche Effect)
इनपुट में एक छोटा सा परिवर्तन (यहां तक कि 1 बिट) हैश आउटपुट में भारी और अप्रत्याशित परिवर्तन का कारण बनता है। MD5 में अभी भी अच्छे हिमस्खलन गुण हैं, जो गैर-सुरक्षा जांचों में इसकी निरंतर उपयोगिता में योगदान देते हैं।
RFC 1321
MD5 का आधिकारिक मानक, 1992 में रोनाल्ड रिवेस्ट द्वारा IETF को प्रस्तुत किया गया, जिसमें एल्गोरिदम चरणों और परीक्षण वैक्टरों का वर्णन है।
खंडित हैशिंग (Chunked Hashing)
हैश स्थिति को वृद्धिशील रूप से अपडेट करते हुए, पूरी फ़ाइल को मेमोरी में लोड करने के बजाय बड़ी फ़ाइलों को ब्लॉकों में संसाधित करना।

सामान्य हैश एल्गोरिदम की तुलना

एल्गोरिदमआउटपुट बिटHex लंबाईसुरक्षागतिअनुशंसित उपयोग
MD5128 बिट32 वर्ण❌ समझौता किया गया (टक्कर/प्रीइमेज)अत्यधिक तेज़फ़ाइल चेकसम, डुप्लिकेशन हटाना, कैश कुंजियाँ
SHA-1160 बिट40 वर्ण❌ टक्कर (2017)तेज़Git, लीगेसी सिस्टम संगतता
SHA-256256 बिट64 वर्ण✅ सुरक्षितमध्यमडिजिटल हस्ताक्षर, प्रमाणपत्र, ब्लॉकचेन
SHA-512512 बिट128 वर्ण✅ सुरक्षिततेज़ (64-बिट)उच्च सुरक्षा परिदृश्य, कुंजी व्युत्पत्ति
bcrypt-60 वर्ण✅ पासवर्ड-विशिष्टधीमा (समायोज्य)पासवर्ड संग्रहण

MD5 सुरक्षा घटनाओं की समयरेखा

वर्षघटनाप्रभाव
1991रॉन रिवेस्ट ने MD5 डिज़ाइन किया (RFC 1321)MD4 को प्रतिस्थापित करता है और मानक हैश एल्गोरिदम बनता है
1996MD5 में पहली छद्म-टक्कर दोष की खोजशैक्षणिक समुदाय चिंता व्यक्त करता है
2004वांग शियाओयुन की टीम ने MD5 टक्कर हमले का प्रदर्शन कियाMD5 डिजिटल हस्ताक्षर सुरक्षा पूरी तरह से टूट गई
2008फ्लेम मैलवेयर ने MD5 टक्कर के माध्यम से CA प्रमाणपत्र जाली बनायाNIST ने डिजिटल हस्ताक्षरों के लिए MD5 को आधिकारिक रूप से अस्वीकार कर दिया
2011NIST SP 800-131A ने सुरक्षा उद्देश्यों के लिए MD5 को आधिकारिक रूप से प्रतिबंधित कियाअमेरिकी सरकारी सिस्टम MD5 को चरणबद्ध रूप से हटाते हैं
2024नया प्रीइमेज हमला पेपर प्रकाशितMD5 की अंतिम रक्षा पंक्ति (प्रीइमेज प्रतिरोध) टूट गई

Authoritative References