हैश जेनरेटर
ब्राउज़र में किसी भी टेक्स्ट से MD5, SHA-1, SHA-256 और SHA-512 हैश मान जनरेट करें। कुछ भी सर्वर पर नहीं भेजा जाता — सब कुछ Web Crypto API से होता है।
Hash क्या होता है?
एक cryptographic hash function किसी भी input को fixed-length character string में बदल देता है। एक ही input हमेशा एक ही hash देता है, लेकिन input में छोटा सा बदलाव भी पूरी तरह अलग hash बनाता है — इसे avalanche effect कहते हैं। Hashes one-way हैं: आप hash से original input वापस नहीं पा सकते।
Common uses में password storage (password नहीं, hash store करें), file integrity verification (download के बाद checksums compare करें), digital signatures, और data deduplication शामिल हैं। SHA-256 आज सबसे ज़्यादा इस्तेमाल होता है; MD5 और SHA-1 cryptographic purposes के लिए insecure माने जाते हैं लेकिन checksums के लिए अब भी उपयोगी हैं।
कौन सा algorithm कब इस्तेमाल करें
MD5 (128-bit): तेज़, व्यापक रूप से supported। Collisions demonstrate हो चुकी हैं, इसलिए cryptographic purposes के लिए insecure है। non-security checksums, hash tables और cache keys के लिए अब भी ठीक है।
SHA-1 (160-bit): 2017 में collision attacks के बाद security के लिए deprecated। Legacy systems और git commit hashes में अब भी दिखता है (git SHA-256 पर migrate कर रहा है)।
SHA-256 (256-bit): आज का standard। TLS/SSL, Bitcoin, certificate signatures और अधिकांश modern cryptographic protocols में इस्तेमाल होता है। लगभग किसी भी नए use case के लिए recommended।
SHA-512 (512-bit): थोड़ा stronger security margin वाला longer output। जब longer hash की ज़रूरत हो या extra caution के लिए इस्तेमाल करें।
Hashing vs encryption
Hashing one-way है — आप hash से original डेटा recover नहीं कर सकते, सिर्फ़ यह verify कर सकते हैं कि कोई candidate input match करता है या नहीं। Encryption two-way है — सही key से decrypt कर सकते हैं। Hashing verification के लिए है (password checks, file integrity)। Encryption confidentiality के लिए है (डेटा को transit या storage में protect करना)।
Unique identifiers जेनरेट करने हैं? हमारा UUID generator आज़माएँ।
MD5 बनाम SHA-1 बनाम SHA-256 बनाम SHA-512: तुलना
अपने उपयोग के लिए सही हैश एल्गोरिदम चुनें — सुरक्षा आवश्यकताएं, आउटपुट आकार और प्रदर्शन में महत्वपूर्ण अंतर होता है।
| विशेषता | MD5 | SHA-1 | SHA-256 अनुशंसित | SHA-512 |
|---|---|---|---|---|
| आउटपुट लंबाई (बिट्स) | 128 | 160 | 256 | 512 |
| आउटपुट (हेक्स वर्ण) | 32 | 40 | 64 | 128 |
| गति (सापेक्ष) | सबसे तेज़ | तेज़ | मध्यम | धीमा |
| सुरक्षा स्थिति | टूटा हुआ — टकराव ज्ञात | अप्रचलित | सुरक्षित | सुरक्षित |
| सामान्य उपयोग | केवल चेकसम | पुरानी प्रणालियाँ | TLS, कोड हस्ताक्षर | उच्च-सुरक्षा ऐप्स |
| NIST अनुशंसित | नहीं | नहीं | हाँ | हाँ |
MD5 और SHA-1 सुरक्षा उद्देश्यों के लिए क्रिप्टोग्राफिक रूप से टूटे हुए हैं। किसी भी नई कार्यान्वयन के लिए SHA-256 या SHA-512 का उपयोग करें।
सामान्य उपयोग
- फ़ाइल अखंडता सत्यापन: यह पुष्टि करने के लिए कि कोई दूषण या छेड़छाड़ नहीं हुई, स्थानांतरण से पहले और बाद में फ़ाइल का SHA-256 हैश उत्पन्न करें।
- पासवर्ड भंडारण प्रोटोटाइपिंग: वेब एप्लिकेशन में सर्वर-साइड स्टोरेज लागू करने से पहले प्रोटोटाइप करें कि पासवर्ड कैसे हैश किए जाने चाहिए (SHA-256, SHA-512)।
- API सिग्नेचर जनरेशन: कई API अनुरोध प्रमाणीकरण के लिए HMAC-SHA256 सिग्नेचर की आवश्यकता होती है — सिग्नेचर निर्माण का परीक्षण करने के लिए हैश टूल का उपयोग करें।
- ब्लॉकचेन सीखना: ब्लॉक हेडर को हैश करके और यह देखकर कि एक बाइट बदलने से आउटपुट कैसे बदलता है, समझें कि Bitcoin का proof-of-work कैसे काम करता है।
- डुप्लीकेशन कुंजियाँ: पूर्ण सामग्री को संग्रहीत या तुलना किए बिना डुप्लीकेट फ़ाइलों या डेटाबेस रिकॉर्ड का पता लगाने के लिए सामग्री हैश उत्पन्न करें।
- डेटा अनामीकरण: विश्लेषण उपयोग के मामलों के लिए व्यक्तिगत पहचान योग्य जानकारी (ईमेल, फोन) को हैश करें जहाँ मूल मान संग्रहीत नहीं किया जाना चाहिए।
- Git कमिट समझना: Git SHA-1/SHA-256 का उपयोग कमिट की पहचान करने के लिए करता है — एक स्ट्रिंग को हैश करके समझें कि Git ऑब्जेक्ट को अद्वितीय पहचानकर्ता कैसे असाइन करता है।
FAQ
क्या MD5 अब भी safe है?
Security के लिए नहीं — इसे passwords, digital signatures या किसी भी ऐसी जगह इस्तेमाल न करें जहाँ attacker collision ढूँढकर फ़ायदा उठा सके। Non-cryptographic uses जैसे checksums, cache keys या deduplication के लिए अब भी ठीक है, जहाँ collision resistance से ज़्यादा speed मायने रखती है।
क्या मैं hash को reverse करके original text पा सकता हूँ?
नहीं। Hashes by design one-way हैं — hashing process invertible function नहीं है। Dictionary attacks और rainbow tables common inputs ढूँढ सकते हैं (इसीलिए password hashes को salt करते हैं), लेकिन hash को ख़ुद reverse नहीं किया जा सकता।
अलग-अलग algorithms अलग-अलग length के hashes क्यों बनाते हैं?
हर algorithm का fixed output size होता है। MD5 32 hex characters (128 bits) देता है, SHA-1 40 (160 bits), SHA-256 64 (256 bits), SHA-512 128 (512 bits)। Longer hashes का output space बड़ा होता है और collisions के प्रति resistance ज़्यादा।
क्या हैश जेनरेटर मेरा टेक्स्ट सर्वर पर भेजता है?
नहीं। सभी हैशिंग आपके ब्राउज़र में बिल्ट-इन Web Crypto API का उपयोग करके क्लाइंट-साइड की जाती है। आपका टेक्स्ट कभी आपके डिवाइस से बाहर नहीं जाता।
क्या मैं हैश को वापस मूल टेक्स्ट में बदल सकता हूँ?
नहीं। क्रिप्टोग्राफ़िक हैश फ़ंक्शन एकतरफा होते हैं — हैश से मूल टेक्स्ट को पुनर्निर्माण करना कम्प्यूटेशनल रूप से असंभव है। यह इरादतन है और यही हैश को सुरक्षा के लिए उपयोगी बनाता है।
आँकड़ों में
- SHA-256 एक 256-बिट (32-बाइट) आउटपुट उत्पन्न करता है — 2^256 संभावित मान, ब्रह्मांड में परमाणुओं से भी अधिक
- MD5 को 2004 में कोलिजन अटैक के जरिए क्रिप्टोग्राफिक रूप से तोड़ा गया था (Wang & Yu); NIST ने सभी सुरक्षा उपयोग के लिए इसे हटा दिया
- NIST ने 2015 में SHA-3 (Keccak) को SHA-2 के संरचनात्मक बैकअप के रूप में एक अलग स्पंज कंस्ट्रक्शन का उपयोग करके मानकीकृत किया
- Bitcoin का ब्लॉकचेन SHA-256 पर निर्भर करता है — एक वैध ब्लॉक हैश खोजने के लिए नेटवर्क-वाइड ~10^21 हैश ऑपरेशन प्रति सेकंड की आवश्यकता होती है