MD5 Hash Generator

किसी भी टेक्स्ट से MD5 हैश जेनरेट करें

इनपुट टेक्स्ट

स्थानीय रूप से चलता है · सीक्रेट पेस्ट करना सुरक्षित है

MD5 हैश

MD5 हैश यहाँ दिखाई देगा…

MD5 हैशिंग क्या है?

MD5 (Message-Digest Algorithm 5) एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन है जो किसी भी आकार के इनपुट से एक निश्चित 128-बिट (16-बाइट) डाइजेस्ट उत्पन्न करता है। 1992 में Ronald Rivest द्वारा RFC 1321 के रूप में प्रकाशित, MD5 को MD4 के एक तेज़ उत्तराधिकारी के रूप में डिज़ाइन किया गया था और यह इंटरनेट पर सबसे अधिक उपयोग किए जाने वाले हैश फ़ंक्शनों में से एक बन गया। यह एल्गोरिथम इनपुट को 512-बिट के खंडों में संसाधित करता है, प्रत्येक खंड में 16-16 संक्रियाओं के चार चक्र होते हैं, और प्रत्येक चक्र में एक भिन्न अरैखिक फ़ंक्शन का उपयोग होता है, जिससे 32-वर्णों का हेक्साडेसिमल फ़िंगरप्रिंट प्राप्त होता है।

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

2004 से शोधकर्ताओं ने MD5 के विरुद्ध व्यावहारिक टकराव आक्रमण प्रदर्शित किए हैं, जिसका अर्थ है कि यह डिजिटल हस्ताक्षर, प्रमाणपत्र, या किसी भी संदर्भ के लिए जहाँ टकराव-प्रतिरोध आवश्यक हो, अब सुरक्षित नहीं माना जाता। तथापि, MD5 गैर-सुरक्षा उद्देश्यों के लिए व्यापक रूप से उपयोग में रहता है: डाउनलोड के बाद फ़ाइल अखंडता सत्यापित करने, कैश कुंजियाँ जेनरेट करने, सामग्री को अनुपालित करने और स्ट्रिंग से निर्धारक पहचानकर्ता बनाने के लिए। इन अनुप्रयोगों में, एल्गोरिथम की गति और सर्वव्यापी लाइब्रेरी समर्थन इसे व्यावहारिक विकल्प बनाता है। 2008 में Marc Stevens और सहयोगियों ने एक चुनित-उपसर्ग टकराव आक्रमण प्रकाशित किया, जिसका अर्थ है कि कोई आक्रमणकर्ता मनमाने चुनित उपसर्गों के साथ दो दस्तावेज़ तैयार कर सकता है जो एक ही डाइजेस्ट साझा करते हैं। यह तकनीक 2008 के Chaos Communication Congress में एक दुर्भावनापूर्ण Certification Authority प्रमाणपत्र बनाकर प्रदर्शित की गई थी। 2012 के Flame मालवेयर ने बाद में एक Microsoft कोड-साइनिंग प्रमाणपत्र जाली बनाने के लिए चुनित-उपसर्ग टकराव का दोहन किया, जिससे मालवेयर वैध Windows Update पैकेज के रूप में प्रदर्शित हो सका। इन वास्तविक दोहनों ने पुष्टि की कि यह एल्गोरिथम किसी भी विश्वास-आधारित उपयोग के लिए क्रिप्टोग्राफ़िक रूप से टूटा हुआ है।

यह MD5 जनरेटर क्यों उपयोग करें?

कुछ भी इंस्टॉल किए बिना या कोड लिखे बिना तत्काल MD5 हैश जेनरेट करें। अपना टेक्स्ट चिपकाएँ और वास्तविक समय में 32-वर्णों का हेक्स डाइजेस्ट प्राप्त करें।

तत्काल हैशिंग
टाइप करते समय आउटपुट अपडेट होता है। कोई बटन क्लिक नहीं, कोई प्रतीक्षा नहीं — इनपुट बदलते ही MD5 डाइजेस्ट वर्ण-दर-वर्ण प्रकट होता है।
🔒
गोपनीयता-प्रथम प्रसंस्करण
सभी हैशिंग JavaScript का उपयोग करके आपके ब्राउज़र में स्थानीय रूप से चलती है। आपका इनपुट टेक्स्ट कभी आपके डिवाइस से बाहर नहीं जाता और किसी भी सर्वर पर नहीं भेजा जाता।
📋
एक-क्लिक कॉपी
एक क्लिक से हैश क्लिपबोर्ड पर कॉपी करें। लोअरकेस और अपरकेस हेक्स आउटपुट के बीच स्विच करें — जो भी प्रारूप आपके सिस्टम को चाहिए उसके अनुसार।
🔍
कोई खाता आवश्यक नहीं
कोई पंजीकरण नहीं, कोई लॉगिन नहीं, कोई उपयोग सीमा नहीं। पृष्ठ खोलें और तुरंत हैशिंग शुरू करें। किसी भी आधुनिक ब्राउज़र वाले डिवाइस पर काम करता है।

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

फ्रंटएंड विकास
स्थिर संपत्तियों के लिए कैश-बस्टिंग हैश जेनरेट करें। CSS और JavaScript URL में फ़ाइल सामग्री का MD5 डाइजेस्ट जोड़ें ताकि सामग्री बदलने पर ब्राउज़र अद्यतन संस्करण प्राप्त करे।
बैकएंड इंजीनियरिंग
जटिल क्वेरी पैरामीटर या अनुरोध बॉडी से निर्धारक कैश कुंजियाँ बनाएँ। MD5 हैश संक्षिप्त, निश्चित-लंबाई की कुंजियाँ उत्पन्न करते हैं जो Redis, Memcached और CDN कैश परतों के साथ अच्छी तरह काम करती हैं।
DevOps और CI/CD
MD5 चेकसम की तुलना करके स्थानांतरण के बाद फ़ाइल अखंडता सत्यापित करें। कई पैकेज रजिस्ट्री और आर्टिफैक्ट भंडार त्वरित सत्यापन के लिए डाउनलोड के साथ MD5 डाइजेस्ट प्रकाशित करते हैं।
गुणवत्ता आश्वासन और परीक्षण
पूरी सामग्री की तुलना किए बिना परीक्षण चक्रों के बीच अप्रत्याशित परिवर्तन पहचानने के लिए API प्रतिक्रियाओं, डेटाबेस डंप या कॉन्फ़िगरेशन फ़ाइलों के MD5 हैश की तुलना करें।
डेटा इंजीनियरिंग
पंक्ति सामग्री के MD5 हैश की गणना करके ETL पाइपलाइन में अभिलेखों को अनुपालित करें। एक ही हैश वाली दो पंक्तियाँ अनुपालन की उम्मीदवार हैं, जिससे संग्रहण और प्रसंस्करण लागत कम होती है।
अध्ययन और शिक्षा
एकतरफा रूपांतरण, एवलांश प्रभाव और सुरक्षा के लिए टकराव-प्रतिरोध क्यों महत्वपूर्ण है — यह समझने के लिए हैश फ़ंक्शनों के साथ प्रयोग करें। MD5 अध्ययन करने के लिए सबसे सरल और व्यापक रूप से ज्ञात हैश है।

MD5 बनाम अन्य हैश एल्गोरिथम

MD5 सामान्य हैश एल्गोरिथम में सबसे तेज़ और सबसे छोटा है, परंतु यह सबसे कमज़ोर सुरक्षा गारंटी प्रदान करता है। नीचे दी गई तालिका प्रत्येक एल्गोरिथम के लिए डाइजेस्ट आकार, मानक और उपयुक्त उपयोग के मामलों की तुलना करती है।

एल्गोरिथमडाइजेस्ट आकारहेक्स लंबाईमानकसर्वोत्तम उपयोग
MD5128 bits32 hex chars1992 / RFC 1321Checksums, non-security fingerprints
SHA-1160 bits40 hex chars1995 / RFC 3174Legacy git commits (being replaced)
SHA-256256 bits64 hex chars2001 / FIPS 180-4TLS certificates, blockchain, JWTs
SHA-384384 bits96 hex chars2001 / FIPS 180-4Government systems, higher security margin
SHA-512512 bits128 hex chars2001 / FIPS 180-4Digital signatures, HMAC with large keys
SHA-3256 bits64 hex chars2015 / FIPS 202Post-quantum readiness, backup standard
BLAKE3256 bits64 hex chars2020High-performance checksums, Merkle trees

MD5 कैसे काम करता है

MD5 एक Merkle-Damgård संरचना के माध्यम से इनपुट संसाधित करता है: संदेश को 512 बिट के गुणज तक पैड किया जाता है, खंडों में विभाजित किया जाता है, और प्रत्येक खंड को 16 बिटवाइज़ संक्रियाओं के चार चक्रों से गुज़ारा जाता है जो इनपुट को पूर्वगणित साइन-व्युत्पन्न स्थिरांकों के साथ मिश्रित करते हैं। परिणाम एक 128-बिट अवस्था है जो अंतिम डाइजेस्ट बन जाती है।

प्रत्येक चक्र चार 32-बिट अवस्था शब्दों (A, B, C, D) में से तीन पर एक भिन्न अरैखिक सहायक फ़ंक्शन लागू करता है। चक्र 1 F(B,C,D) = (B AND C) OR (NOT B AND D) — एक बिटवाइज़ सशर्त चयनकर्ता — उपयोग करता है। चक्र 2 G(B,C,D) = (B AND D) OR (C AND NOT D) — एक पूरक चयनकर्ता — उपयोग करता है। चक्र 3 H(B,C,D) = B XOR C XOR D — एक समता फ़ंक्शन — उपयोग करता है। चक्र 4 I(B,C,D) = C XOR (B OR NOT D) — एक असममित संयोजक — उपयोग करता है। ये चार फ़ंक्शन सुनिश्चित करते हैं कि इनपुट का प्रत्येक बिट आउटपुट डाइजेस्ट को प्रभावित करे, जिससे एवलांश प्रभाव उत्पन्न होता है।

Input: "hello world"
MD5: 5eb63bbbe01eeed093cb22bb8f5acdc3
(128 bits = 16 bytes = 32 hex characters)

एल्गोरिथम पाँच चरणों में आगे बढ़ता है: (1) एक 1-बिट जोड़ें, फिर शून्य जोड़ें जब तक संदेश लंबाई 448 mod 512 न हो; (2) मूल संदेश लंबाई को 64-बिट लिटिल-एंडियन पूर्णांक के रूप में जोड़ें; (3) चार 32-बिट अवस्था चरों (A, B, C, D) को निश्चित स्थिरांकों से आरंभ करें; (4) प्रत्येक 512-बिट खंड को 64 संक्रियाओं के माध्यम से संसाधित करें जिसमें चार अरैखिक फ़ंक्शन (F, G, H, I) हों, प्रत्येक 16 संक्रियाओं के एक चक्र के लिए; (5) परिणामी अवस्था को चालू योग में जोड़ें और अंतिम 128-बिट हैश को लिटिल-एंडियन बाइट क्रम में आउटपुट करें।

कोड उदाहरण

लोकप्रिय भाषाओं और परिवेशों में MD5 हैश जेनरेट करने का तरीका। ध्यान दें कि MD5 ब्राउज़र Web Crypto API में उपलब्ध नहीं है — किसी लाइब्रेरी या Node.js का उपयोग करें।

JavaScript (Web Crypto — browser & Node.js)
// MD5 is not available in Web Crypto API (it only supports SHA-*)
// Use a library like 'js-md5' or the Node.js crypto module

// Node.js (built-in crypto)
const crypto = require('crypto')
const hash = crypto.createHash('md5').update('hello world').digest('hex')
console.log(hash) // → "5eb63bbbe01eeed093cb22bb8f5acdc3"

// With Unicode input
crypto.createHash('md5').update('cafe\u0301').digest('hex')
// → "4fad076bae205e95bec9dacea498e2ab"
Python
import hashlib

# Basic MD5 hash
result = hashlib.md5(b'hello world').hexdigest()
print(result)  # → "5eb63bbbe01eeed093cb22bb8f5acdc3"

# Hash a string (must encode to bytes first)
text = 'hello world'
hashlib.md5(text.encode('utf-8')).hexdigest()
# → "5eb63bbbe01eeed093cb22bb8f5acdc3"

# Hash a file
with open('file.bin', 'rb') as f:
    md5 = hashlib.md5()
    for chunk in iter(lambda: f.read(8192), b''):
        md5.update(chunk)
    print(md5.hexdigest())
Go
package main

import (
    "crypto/md5"
    "fmt"
)

func main() {
    data := []byte("hello world")
    hash := md5.Sum(data)
    fmt.Printf("%x\n", hash)
    // → 5eb63bbbe01eeed093cb22bb8f5acdc3
}
CLI (Linux / macOS)
# Using md5sum (Linux) or md5 (macOS)
echo -n "hello world" | md5sum
# → 5eb63bbbe01eeed093cb22bb8f5acdc3  -

# macOS
echo -n "hello world" | md5
# → 5eb63bbbe01eeed093cb22bb8f5acdc3

# Hash a file
md5sum package.json
# → a1b2c3d4e5f6...  package.json

# Using openssl (cross-platform)
echo -n "hello world" | openssl md5
# → MD5(stdin)= 5eb63bbbe01eeed093cb22bb8f5acdc3

अक्सर पूछे जाने वाले प्रश्न

क्या MD5 अभी भी उपयोग के लिए सुरक्षित है?
यह डिजिटल हस्ताक्षर, TLS प्रमाणपत्र या पासवर्ड हैशिंग जैसे सुरक्षा-संवेदनशील अनुप्रयोगों के लिए सुरक्षित नहीं है। 2004 से व्यावहारिक टकराव आक्रमण प्रदर्शित किए गए हैं, और चुनित-उपसर्ग टकराव आक्रमण अब सामान्य हार्डवेयर पर सेकंडों में संभव हैं। गैर-सुरक्षा उपयोगों के लिए — चेकसम, कैश कुंजियाँ, सामग्री अनुपालन — यह एल्गोरिथम व्यावहारिक और व्यापक रूप से समर्थित विकल्प बना रहता है।
MD5 और SHA-256 में क्या अंतर है?
MD5 एल्गोरिथम एक 128-बिट (32-हेक्स-वर्ण) डाइजेस्ट उत्पन्न करता है और टकराव आक्रमणों के प्रति संवेदनशील है। SHA-256 एक 256-बिट (64-हेक्स-वर्ण) डाइजेस्ट उत्पन्न करता है और इसके कोई ज्ञात व्यावहारिक आक्रमण नहीं हैं। SHA-256 उसी हार्डवेयर पर पुराने एल्गोरिथम से लगभग 30-40% धीमा है, परंतु अतिरिक्त सुरक्षा मार्जिन इसे उन अनुप्रयोगों के लिए डिफ़ॉल्ट विकल्प बनाता है जहाँ अखंडता सत्यापन प्रतिकूल छेड़छाड़ का प्रतिरोध करनी चाहिए।
क्या MD5 हैश से मूल इनपुट पुनः प्राप्त किया जा सकता है?
नहीं। यह हैश फ़ंक्शन डिज़ाइन द्वारा एकतरफा है — यह हैशिंग के दौरान जानकारी नष्ट कर देता है। तथापि, छोटे या सामान्य इनपुट के लिए, आक्रमणकर्ता मूल इनपुट खोजने हेतु रेनबो टेबल (पूर्वगणित हैश-से-प्लेनटेक्स्ट मैपिंग) या ब्रूट फ़ोर्स का उपयोग कर सकते हैं। इसीलिए इसे कभी भी पासवर्ड संग्रहण के लिए उपयोग नहीं करना चाहिए। इसके स्थान पर bcrypt, scrypt या Argon2 का उपयोग करें।
एक ही टेक्स्ट के लिए अलग-अलग टूल कभी-कभी भिन्न MD5 हैश क्यों उत्पन्न करते हैं?
सबसे सामान्य कारण एन्कोडिंग अंतर है। यह एल्गोरिथम वर्णों पर नहीं, बाइट पर संक्रिया करता है। स्ट्रिंग 'hello' UTF-8 बनाम UTF-16 बनाम Latin-1 में एन्कोड होने पर भिन्न हैश उत्पन्न करती है। एक अन्य सामान्य समस्या अनुगामी नई पंक्ति है: अधिकांश शेल में echo एक नई पंक्ति (\n) जोड़ता है जब तक आप echo -n का उपयोग न करें। हमेशा सत्यापित करें कि हैश किए जा रहे बाइट बिल्कुल सही हैं।
MD5 हैश की गणना में कितना समय लगता है?
यह एल्गोरिथम अत्यंत तेज़ है। आधुनिक हार्डवेयर पर यह एकल CPU कोर पर 3-6 GB/s की गति से डेटा संसाधित करता है। GPU अरबों चेकसम प्रति सेकंड की गणना कर सकता है। यह गति फ़ाइल सत्यापन के लिए लाभदायक है, परंतु पासवर्ड हैशिंग के लिए हानिकारक है, जहाँ धीमे एल्गोरिथम (bcrypt, Argon2) विशेष रूप से इसलिए पसंद किए जाते हैं क्योंकि वे ब्रूट-फ़ोर्स आक्रमणों का प्रतिरोध करते हैं।
MD5 टकराव क्या है और यह क्यों महत्वपूर्ण है?
टकराव तब होता है जब दो भिन्न इनपुट एक ही हैश डाइजेस्ट उत्पन्न करते हैं। 2004 में Xiaoyun Wang ने MD5 के विरुद्ध पहला व्यावहारिक टकराव प्रदर्शित किया। 2012 तक, Flame मालवेयर ने एक Microsoft कोड-साइनिंग प्रमाणपत्र जाली बनाने के लिए टकराव का दोहन किया। आज, समान-उपसर्ग टकराव एक मिनट से कम में गणना किए जा सकते हैं। यह एल्गोरिथम को किसी भी अनुप्रयोग के लिए अनुपयुक्त बनाता है जो टकराव-प्रतिरोध पर निर्भर करता है, जैसे डिजिटल हस्ताक्षर या प्रमाणपत्र पिनिंग।
फ़ाइल चेकसम के लिए MD5 या CRC32 का उपयोग करना चाहिए?
फ़ाइल अखंडता सत्यापन के लिए यह चेकसम CRC32 से बेहतर विकल्प है। CRC32 एक 32-बिट त्रुटि-पहचानने वाला कोड है जो संचरण में आकस्मिक भ्रष्टाचार पकड़ने के लिए डिज़ाइन किया गया है, न कि जानबूझकर छेड़छाड़ के लिए। इसका छोटा आउटपुट स्थान टकराव को बनाना सामान्यतः आसान बनाता है। MD5 बहुत मज़बूत आकस्मिक-टकराव प्रतिरोध के साथ 128-बिट डाइजेस्ट प्रदान करता है। प्रतिकूल परिदृश्यों के लिए (अविश्वसनीय स्रोतों से डाउनलोड सत्यापित करना), इसके स्थान पर SHA-256 का उपयोग करें।