मुफ़्त हैश जनरेटर
MD5, SHA-1, SHA-256, SHA-384, SHA-512 हैश बनाएं।
परिणाम
क्रिप्टोग्राफ़िक हैश फ़ंक्शन वास्तव में क्या है
एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन किसी भी आकार का इनपुट लेता है और एक निश्चित आकार का आउटपुट उत्पन्न करता है, जिसे hash, digest या fingerprint कहा जाता है। एक ही इनपुट हमेशा एक ही hash उत्पन्न करता है; इनपुट में एक-बिट का परिवर्तन भी एक नाटकीय रूप से अलग hash उत्पन्न करता है ("avalanche प्रभाव"); और फ़ंक्शन को उलटना संगणनात्मक रूप से असंभव है, एक hash के दिए जाने पर, आप व्यावहारिक रूप से वह इनपुट नहीं ढूँढ़ सकते जिसने उसे उत्पन्न किया। तीन प्रतिरोध गुण हैश फ़ंक्शन को "क्रिप्टोग्राफ़िक" बनाते हैं: preimage प्रतिरोध (एक hash h के दिए जाने पर, असंभव है कोई इनपुट m ढूँढ़ना ऐसा कि hash(m) = h), second-preimage प्रतिरोध (m1 के दिए जाने पर, असंभव है समान hash वाला कोई और m2 ढूँढ़ना), और collision प्रतिरोध (समान hash वाले दो भिन्न इनपुट ढूँढ़ना असंभव)। एक हैश जो collision प्रतिरोध खो देता है, फिर भी कुछ उपयोगों (फ़ाइल अखंडता) के लिए सुरक्षित हो सकता है पर अन्य (डिजिटल हस्ताक्षर) के लिए असुरक्षित। MD5 और SHA-1 ठीक उसी श्रेणी में हैं: collision-टूटे पर preimage-प्रतिरोधी।
MD5, SHA-1, SHA-2 और SHA-3 का संक्षिप्त इतिहास
MD2 / MD4 / MD5 MIT और RSA Data Security में Ron Rivest का काम है। MD2 1989 में प्रकाशित हुआ; MD4 1990 में; MD5 1991 में प्रकाशित और अप्रैल 1992 में RFC 1321 के रूप में मानकीकृत हुआ। MD5 एक दशक तक प्रमुख hash था, डाउनलोड चेकसम, पासवर्ड संग्रहण, फ़ाइल डिडुप्लीकेशन और सामग्री-संबोधन योग्य प्रणालियों के लिए डिफ़ॉल्ट। पहली चेतावनी 1995 में आई जब Hans Dobbertin ने MD5 के पूर्ववर्ती MD4 पर पूर्ण-राउंड collision हमला प्रकाशित किया; पूर्ण-MD5 का पहला व्यावहारिक टकराव अगस्त 2004 में आया जब Wang और Yu ने दो टकराने वाले 128-बाइट संदेशों की घोषणा की; Vlastimil Klima ने 2006 में commodity hardware पर MD5 collision-finding को घंटों से सेकंडों तक तेज़ कर दिया। Marc Stevens ने TU Eindhoven और EPFL के शोधकर्ताओं के साथ काम करते हुए दिसंबर 2008 में 25C3 पर MD5 के chosen-prefix collision का प्रदर्शन किया, MD5 से हस्ताक्षरित एक जाली RapidSSL CA प्रमाणपत्र बनाकर। 2012 के Flame मैलवेयर के समय तक, जिसने Microsoft Update प्रमाणपत्र जाली बनाने के लिए MD5 collision का उपयोग किया, MD5 सुरक्षा-संवेदी किसी भी उपयोग के लिए पूरी तरह से टूट चुका था।
SHA ("Secure Hash Algorithm") अमेरिका की NSA का परिवार है। SHA-0 मई 1993 में FIPS 180 के रूप में प्रकाशित हुआ और एक वर्ष के भीतर अनिर्दिष्ट डिज़ाइन त्रुटियों के कारण वापस ले लिया गया। SHA-1 अप्रैल 1995 में FIPS 180-1 के रूप में आया, message schedule में एक बिट के बदलाव के साथ जिसे NSA ने कभी सार्वजनिक रूप से नहीं समझाया। SHA-1 1990 के अंत और 2000 के दशक का डिफ़ॉल्ट hash बना, Git द्वारा commit hashes के लिए, SSL/TLS प्रमाणपत्रों द्वारा, लगभग हर हस्ताक्षर योजना द्वारा उपयोग। पहला सैद्धांतिक collision हमला 2005 में आया (Wang, Yin, Yu); 2015 में freestart collision (Stevens, Karpman, Peyrin); और पहला पूर्ण SHA-1 collision 23 फ़रवरी 2017 को "SHAttered" के रूप में जारी किया गया (Stevens, Bursztein, Karpman, Albertini, Markov), जिसने समान SHA-1 hash वाले दो भिन्न PDF फ़ाइलें उत्पन्न कीं। जनवरी 2020 तक "SHA-1 is a Shambles" chosen-prefix हमले ने (Leurent और Peyrin, GPU किराये की कुल लागत लगभग USD 45,000) certificate-grade जालसाज़ी को सस्ता बना दिया, जिससे Git project द्वारा 2018 में पहले से नियोजित SHA-256 transition तेज़ हो गया। SHA-1 अब डिजिटल हस्ताक्षरों और प्रमाणपत्रों के लिए NIST द्वारा औपचारिक रूप से अप्रचलित है।
SHA-2 वह परिवार है जिसने SHA-1 की जगह ली: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 और SHA-512/256, अगस्त 2002 में FIPS 180-2 के रूप में प्रकाशित। SHA-2 एक रक्षात्मक डिज़ाइन था, बड़े आउटपुट आकार, अधिक राउंड, बड़ा आंतरिक राज्य, और तेईस साल बाद यह अटूट रहा है। SHA-256 डिजिटल हस्ताक्षरों, प्रमाणपत्रों, JWT, Bitcoin block hashes, सामग्री-संबोधन योग्य संग्रहण और अधिकांश फ़ाइल अखंडता सत्यापन के लिए आधुनिक डिफ़ॉल्ट है। SHA-3 मूलतः अलग डिज़ाइन है, Bertoni, Daemen, Peeters और Van Assche द्वारा Keccak sponge निर्माण, NIST की पाँच साल की प्रतियोगिता के माध्यम से चयनित जो 2007 में खोली गई और अक्टूबर 2012 में Keccak द्वारा जीती; अगस्त 2015 में FIPS 202 के रूप में प्रकाशित। SHA-3 SHA-2 का प्रतिस्थापन नहीं है (SHA-2 अब भी सुरक्षित है); यह पूरी तरह अलग आंतरिक संरचना के साथ रक्षा-में-गहराई विकल्प है, ताकि SHA-2 का भविष्य का क्रिप्टोएनालिटिक टूटना SHA-3 को आवश्यक रूप से प्रभावित न करे। यह टूल SHA-1, SHA-256, SHA-384 और SHA-512 (Web Crypto API समर्थित सेट) प्लस MD5 (JavaScript कार्यान्वयन के माध्यम से, क्योंकि Web Crypto API जानबूझकर MD5 छोड़ता है) उत्पन्न करता है।
Algorithm तुलना
| एल्गोरिथम | आउटपुट | सुरक्षा |
|---|---|---|
| MD5 | 128 बिट (32 हेक्स वर्ण) | टूटा · सुरक्षा के लिए नहीं |
| SHA-1 | 160 बिट (40 हेक्स वर्ण) | कमज़ोर · अप्रचलित |
| SHA-256 | 256 बिट (64 हेक्स वर्ण) | मज़बूत · अनुशंसित |
| SHA-384 | 384 बिट (96 हेक्स वर्ण) | मज़बूत |
| SHA-512 | 512 बिट (128 हेक्स वर्ण) | मज़बूत |
क्रिप्टोग्राफ़िक hashes कहाँ दिखाई देते हैं
- फ़ाइल अखंडता / checksums. Linux वितरण मिरर ISO डाउनलोड के साथ SHA-256 (और ऐतिहासिक रूप से MD5/SHA-1) hashes प्रकाशित करते हैं; उपयोगकर्ता डाउनलोड फ़ाइल का hash गणना करता है और प्रकाशित मान से तुलना करता है। एक बेमेल का अर्थ है कि डाउनलोड भ्रष्ट या छेड़छाड़ हुआ।
shasum,sha256sumऔरmd5sumमानक Unix टूल हैं। - पासवर्ड संग्रहण, पर कभी सादे hash के रूप में नहीं।
SHA-256(पासवर्ड)को सीधे संग्रहीत करना ख़तरनाक है क्योंकि rainbow tables (पूर्व-गणित (पासवर्ड → hash) नक़्शे) सादे-hash पासवर्डों को मिलीसेकंड में reversible बनाते हैं। सही पैटर्न है प्रति-उपयोगकर्ता salt और tunable work factor के साथ पासवर्ड हैशिंग फ़ंक्शन (KDF): Argon2id (RFC 9106, 2021, आधुनिक अनुशंसा), scrypt (RFC 7914, Percival 2009), या bcrypt (Provos और Mazières, USENIX 1999)। तीनों एक salt (ताकि समान पासवर्ड भिन्न संग्रहीत hashes उत्पन्न करें) को जानबूझकर महंगे संगणन (ताकि brute-force हमले हार्डवेयर लागत द्वारा सीमित हों) के साथ जोड़ते हैं। यह टूल कच्चे hashes की गणना करता है, कई चीज़ों के लिए उपयोगी, पर अकेले पासवर्ड संग्रहण के लिए उपयुक्त नहीं। - डिजिटल हस्ताक्षर। hash पर हस्ताक्षर करें, डेटा पर नहीं, डेटा कुशलता से हस्ताक्षर के लिए बहुत लंबा है। RSA, DSA, ECDSA और EdDSA सभी संदेश के hash पर हस्ताक्षर करते हैं। उपयोग किया गया hash फ़ंक्शन collision-प्रतिरोधी होना चाहिए (अन्यथा हमलावर एक colliding संदेश प्रतिस्थापित कर सकता है); ठीक इसी कारण से MD5 और SHA-1 हस्ताक्षरों के लिए अप्रचलित हैं।
- Git का सामग्री-संबोधन योग्य संग्रहण। हर Git ऑब्जेक्ट (blob, tree, commit, tag) उसकी सामग्री के SHA-1 से पहचाना जाता है। Linus Torvalds की 2005 की डिज़ाइन पसंद आज SHA-256 की ओर बहु-वर्षीय परिवर्तन के बीच में है, SHA-1 के collision टूटने से प्रेरित। Git for Windows और core Git दोनों SHA-256 समर्थन भेजते हैं; उत्पादन में प्रवास क्रमिक है।
- Bitcoin और Ethereum। Bitcoin block hashes और transaction IDs के लिए double-SHA-256 का उपयोग करता है (hash फ़ंक्शन Bitcoin mining लागत पर हावी है, ASICs केवल SHA-256 को तेज़ी से गणना करने के लिए मौजूद हैं)। Ethereum Keccak-256 का उपयोग करता है (NIST मानकीकरण ट्वीक्स से पहले का मूल Keccak; कभी-कभी "SHA-3 minus padding परिवर्तन" कहा जाता है)।
- JWT हस्ताक्षर सत्यापन। JSON Web Tokens आम तौर पर HMAC-SHA-256 (JWT spec में algorithm नाम "HS256") या SHA-256 hash पर RSA/ECDSA के साथ हस्ताक्षरित होते हैं। हस्ताक्षर रिसीवर को सत्यापित करने देता है कि टोकन जारीकर्ता से आया और छेड़छाड़ नहीं हुआ।
- Subresource Integrity (SRI)।
<script>और<link>टैग परintegrity="sha256-..."attribute ब्राउज़रों को सत्यापित करने देता है कि CDN-होस्टेड स्क्रिप्ट को निष्पादित करने से पहले संशोधित नहीं किया गया है, समझौता CDN के विरुद्ध रक्षा। - API अनुरोध हस्ताक्षर। AWS Signature Version 4 हर API अनुरोध को उपयोगकर्ता की secret access key के साथ HMAC-SHA-256 का उपयोग करके हस्ताक्षरित करता है। यह wire पर secret भेजे बिना अनुरोध को प्रमाणित करता है और timestamp के माध्यम से replay हमले रोकता है।
Collision टूटना vs Preimage टूटना, MD5 अब भी क्यों उपयोग होता है
एक सामान्य भ्रम: यदि MD5 "टूटा" है, तो हर Linux distro पर md5sum अब भी क्यों आता है? उत्तर है collision प्रतिरोध (MD5 में टूटा) और preimage प्रतिरोध (अब भी MD5 में अक्षुण्ण) के बीच का अंतर। एक collision हमला हमलावर को समान hash के साथ दो भिन्न इनपुट बनाने देता है; यह डिजिटल हस्ताक्षरों के लिए मायने रखता है (जहाँ हमलावर एक colliding जोड़ी बना सकता है, एक पर हस्ताक्षर करवा सकता है, और दूसरे को प्रतिस्थापित कर सकता है) और किसी भी ऐसे अनुप्रयोग के लिए जहाँ hash फ़ंक्शन एक विशिष्ट इनपुट को बाँधने का इरादा रखता है। एक preimage हमला, इसके विपरीत, हमलावर को hash से मूल इनपुट पुनर्प्राप्त करने देगा, यह वह है जो वास्तव में डाउनलोड checksum, पासवर्ड hash या सामग्री-संबोधित पहचानकर्ता को तोड़ देगा। MD5 की preimage प्रतिरोध नहीं टूटी है; सबसे अच्छे प्रकाशित preimage हमले अभी भी सैद्धांतिक 2128 सीमा के निकट हैं, जो किसी भी मौजूदा या अपेक्षित hardware पर संगणनात्मक रूप से अव्यावहारिक है। तो MD5 (और SHA-1) के लिए वैध रहते हैं: फ़ाइल अखंडता सत्यापन जब आप प्रकाशित hash के स्रोत पर भरोसा करते हैं (एक हमलावर जो फ़ाइल प्रतिस्थापित कर सकता है, संभवतः hash भी प्रतिस्थापित कर सकता है, इसलिए ख़तरा मॉडल "आकस्मिक भ्रष्टता" है, "जानबूझकर छेड़छाड़" नहीं); cache कुंजी और डिडुप्लीकेशन जहाँ आप दोनों छोरों को नियंत्रित करते हैं; HMAC रचनाएँ (HMAC-MD5 अब भी सुरक्षित है क्योंकि HMAC की संरचना MD5 की collision कमज़ोरी के विरुद्ध दृढ़ है, हालाँकि नए कोड के लिए HMAC-SHA-256 पसंदीदा है)। जहाँ MD5 को बदलना ज़रूरी है: डिजिटल हस्ताक्षर, प्रमाणपत्र hashes, कहीं भी जहाँ हमलावर इनपुट गढ़ सके।
Web Crypto API और MD5 की जानबूझकर अनुपस्थिति
आधुनिक ब्राउज़र crypto.subtle.digest(algorithm, data) के माध्यम से hashing को उजागर करते हैं, एक एसिंक्रोनस फ़ंक्शन जो hash को ArrayBuffer के रूप में लौटाता है। समर्थित algorithm: SHA-1, SHA-256, SHA-384, SHA-512। ध्यान दें कि उस सूची में क्या नहीं है: MD5 जानबूझकर छोड़ा गया है। W3C Web Crypto Working Group ने MD5 को बाहर छोड़ने का स्पष्ट निर्णय लिया, यह तर्क देते हुए कि ब्राउज़र में MD5 का कोई भी उपयोग या तो legacy था (polyfill के साथ बेहतर संभाला जाना) या ग़लत (और इसे आसान नहीं बनाया जाना चाहिए)। इस टूल का MD5 समर्थन पेज में बंडल किए गए एक छोटे JavaScript कार्यान्वयन (~10 KB) से आता है; बाक़ी सब कुछ (SHA-1, SHA-256, SHA-384, SHA-512, साथ ही सभी HMAC variants) देशी-गति प्रसंस्करण के लिए Web Crypto के माध्यम से रूट होता है। Web Crypto API केवल सुरक्षित संदर्भों (HTTPS या localhost) में उपलब्ध है, सादे HTTP पर इस टूल को खोलना SHA hashing को चुपचाप अक्षम कर देगा।
आउटपुट फ़ॉर्मैट: Hex, Base64, Base32
Hashes स्वाभाविक रूप से बाइनरी हैं, 256-बिट hash 32 बाइट अपारदर्शी डेटा है। उन्हें प्रदर्शित या परिवहन करने के लिए, उन्हें टेक्स्ट के रूप में एन्कोड किया जाता है। Hex (Base16) सबसे आम एन्कोडिंग है: हर बाइट दो hex वर्ण बन जाता है, इसलिए SHA-256 आउटपुट 64 hex वर्ण है। सार्वभौमिक, पठनीय, आकार दोगुना। Base64 बाइट्स को अधिक सघन रूप से पैक करता है (3 बाइट → 4 वर्ण); SHA-256 Base64 में 44 वर्ण है (padding के साथ) या 43 (बिना)। JWT में उपयोग होता है (हस्ताक्षर Base64URL-एन्कोडेड है), integrity SRI attributes में, और जहाँ कॉम्पैक्टनेस मायने रखती है। Base32 (RFC 4648) 32 वर्णों का उपयोग करता है जो दृष्टिगत रूप से अस्पष्ट को बाहर रखते हैं (कोई 0/O, 1/I/L भेद नहीं); TOTP secret keys, ULIDs और onion पते में उपयोग होता है। यह टूल डिफ़ॉल्ट रूप से hex उत्पन्न करता है, सार्वभौमिक प्रारूप जो हर दूसरा टूल समझता है।
HMAC, प्रमाणीकरण के लिए कुंजी-युक्त hashing
HMAC (Hash-based Message Authentication Code) RFC 2104 (Krawczyk, Bellare, Canetti, फ़रवरी 1997) में परिभाषित एक रचना है जो किसी भी क्रिप्टोग्राफ़िक hash फ़ंक्शन को कुंजी-युक्त प्रमाणीकरण कोड में बदलती है। रचना है HMAC(K, m) = H((K' XOR opad) || H((K' XOR ipad) || m)), जहाँ K' secret K से व्युत्पन्न कुंजी है, और opad/ipad स्थिर XOR pads हैं। संरचना सिद्ध रूप से सुरक्षित है जब तक अंतर्निहित hash है, और उल्लेखनीय रूप से तब भी सुरक्षित रहती है जब अंतर्निहित hash में कमज़ोर collision प्रतिरोध हो (इसी कारण HMAC-MD5 अब भी सुरक्षित माना जाता है, और इसी कारण HMAC-SHA1 SHA-1 के collision टूटने के बाद भी TLS में ठीक है)। HMAC के तीन मुख्य उपयोग हैं: API अनुरोध हस्ताक्षर (AWS Signature v4, GitHub webhooks, Stripe webhooks), जहाँ रिसीवर सत्यापित करता है कि अनुरोध secret के धारक से आया; JWT अखंडता (HS256 = HMAC-SHA-256); और पासवर्ड-आधारित कुंजी व्युत्पत्ति (PBKDF2 आंतरिक रूप से HMAC का उपयोग करता है)। इस टूल का HMAC मोड एक secret कुंजी लेता है और उस कुंजी के तहत इनपुट का HMAC उत्पन्न करता है।
ईमानदार दायरा: यह टूल किसके लिए है और किसके लिए नहीं
यह टूल इनपुट टेक्स्ट या फ़ाइलों के कच्चे क्रिप्टोग्राफ़िक hashes की गणना करता है। उपयोगी: प्रकाशित checksums के विरुद्ध फ़ाइल डाउनलोड सत्यापित करने, सामग्री-संबोधन योग्य पहचानकर्ता उत्पन्न करने, API डिबगिंग के लिए HMAC मानों की गणना करने, फ़ाइल की दो प्रतियों की अखंडता तुलना करने, और यह जानने के लिए कि विशिष्ट इनपुट किस पर hash होते हैं। उपयोगी नहीं: पासवर्ड संग्रहण (उचित salt और work factor के साथ Argon2id, scrypt या bcrypt जैसा वास्तविक पासवर्ड हैशिंग फ़ंक्शन उपयोग करें); hashes को उलटना (जो hash फ़ंक्शनों का पूरा बिंदु है और डिज़ाइन से असंभव); या SHA-3 / Keccak hashes उत्पन्न करना (यह टूल वर्तमान में SHA-2 परिवार से SHA-1, SHA-256, SHA-384 और SHA-512 उत्पन्न करता है, साथ ही MD5, SHA-3 भविष्य की सुविधाओं की सूची पर है); BLAKE2 या BLAKE3 hashes उत्पन्न करना। BLAKE3 के लिए (सामग्री-संबोधन योग्य संग्रहण के लिए आधुनिक उच्च-थ्रूपुट hash), समर्पित CLI का उपयोग करें; पासवर्ड संग्रहण के लिए, अपने अनुप्रयोग की bcrypt/scrypt/Argon2id लाइब्रेरी का सीधे उपयोग करें।
गोपनीयता: यहाँ केवल-ब्राउज़र क्यों मायने रखता है
किसी सर्वर पर फ़ाइल hashing के लिए फ़ाइल upload करनी पड़ती है। साधारण डाउनलोड सत्यापन के लिए यह बेमतलब है, आप पहले से ही स्रोत पर भरोसा करते हैं। आंतरिक दस्तावेज़, स्कैन की गई IDs, कार्य-प्रगति UI के स्क्रीनशॉट, या ऐसी कोई भी फ़ाइल hash करने के लिए जिसे आप अजनबी की हार्ड डिस्क पर कॉपी होते नहीं देखना चाहते, server-side hashing एक रिसाव है। यह टूल File API का उपयोग करके फ़ाइल को सीधे आपके ब्राउज़र में पढ़ता है और स्थानीय रूप से hash करता है, कुछ भी आपके डिवाइस से नहीं जाता। Hash पर क्लिक करते समय DevTools की Network टैब खोलकर सत्यापित करें, या लोड होने के बाद पेज को ऑफ़लाइन (एयरप्लेन मोड) कर दें और पुष्टि करें कि टूल अब भी काम करता है। Web Crypto API HTTPS की मांग करता है पर रनटाइम पर नेटवर्क एक्सेस की मांग नहीं करता।
अक्सर पूछे जाने वाले प्रश्न
अगर MD5 टूटा हुआ है तो इसका उपयोग किसलिए होता है?
MD5 अब भी गैर-सुरक्षा उद्देश्यों के लिए व्यापक रूप से उपयोग होता है: फ़ाइल अखंडता जाँच (डाउनलोड सत्यापन), डीडुप्लिकेशन, कैश कुंजियाँ और चेकसम। इसे पासवर्ड हैशिंग या डिजिटल हस्ताक्षरों के लिए कभी उपयोग नहीं करना चाहिए।
क्या मैं मूल टेक्स्ट पाने के लिए हैश को उलट सकता हूँ?
नहीं। हैश फ़ंक्शन एकतरफ़ा बनाए जाते हैं। हालाँकि, हमलावर आम हैश खोजने के लिए पूर्व-गणना की गई तालिकाओं (रेनबो टेबल) का उपयोग करते हैं। इसीलिए पासवर्ड को कच्चे SHA-256 के बजाय bcrypt जैसी साल्टेड, धीमी हैश फ़ंक्शन से हैश करना चाहिए।
क्या हैश करते समय मेरी फ़ाइल अपलोड होती है?
नहीं। फ़ाइल को सीधे आपके ब्राउज़र में File API का उपयोग करके पढ़ा जाता है और स्थानीय रूप से Web Crypto API (SHA के लिए) या शुद्ध JavaScript कार्यान्वयन (MD5 के लिए) से हैश किया जाता है। किसी सर्वर पर कुछ भी नहीं भेजा जाता।
SHA-256 और SHA-3 के बीच क्या अंतर है?
SHA-256 SHA-2 परिवार का हिस्सा है (FIPS 180-2, अगस्त 2002), Merkle-Damgård रचना, NSA द्वारा डिज़ाइन। SHA-3 (FIPS 202, अगस्त 2015) Keccak परिवार है, sponge रचना, Bertoni, Daemen, Peeters और Van Assche द्वारा डिज़ाइन, सार्वजनिक NIST प्रतियोगिता के माध्यम से चयनित। SHA-3 SHA-2 का प्रतिस्थापन नहीं है (SHA-2 अब भी सुरक्षित है); यह मूलतः अलग आंतरिक संरचना के साथ रक्षा-में-गहराई विकल्प है, ताकि SHA-2 का काल्पनिक भविष्य का टूटना SHA-3 को आवश्यक रूप से प्रभावित न करे। 2026 में नए अनुप्रयोगों के लिए, SHA-256 अब भी सही डिफ़ॉल्ट है; SHA-3 Ethereum और post-quantum योजनाओं में बढ़ती हुई उपयोग हो रहा है। यह टूल आज SHA-2 (SHA-1 / 256 / 384 / 512) का समर्थन करता है; SHA-3 भविष्य की सुविधाओं की सूची पर है।
HMAC क्या है और मुझे इसकी कब आवश्यकता है?
HMAC (Hash-based Message Authentication Code, RFC 2104, 1997) एक कुंजी-युक्त hash रचना है जो साबित करती है कि एक संदेश साझा secret जानने वाले किसी ने बनाया था। आपको इसकी आवश्यकता है जब भी आप सत्यापित कर रहे हों कि एक अनुरोध सही पार्टी से आया, GitHub webhook हस्ताक्षरों का सत्यापन (secret webhook की signing key है), Stripe webhook हस्ताक्षर, AWS API अनुरोध हस्ताक्षर (Signature v4 HMAC-SHA-256 है), या JWT हस्ताक्षर (HS256 = HMAC-SHA-256)। HMAC तब भी सुरक्षित रहता है जब अंतर्निहित hash में कमज़ोर collision प्रतिरोध हो, इसी कारण HMAC-MD5 अब भी सुरक्षित माना जाता है, हालाँकि नए कोड के लिए HMAC-SHA-256 आधुनिक डिफ़ॉल्ट है।
जब मैं इसे hash करता हूँ तो क्या मेरी फ़ाइल upload होती है?
नहीं। फ़ाइल File API का उपयोग करके आपके ब्राउज़र में सीधे पढ़ी जाती है और स्थानीय रूप से hash की जाती है, SHA परिवार के algorithms के लिए Web Crypto API के माध्यम से, MD5 के लिए एक छोटे JavaScript कार्यान्वयन के माध्यम से। कुछ भी नेटवर्क पार नहीं करता, गणना करते समय DevTools की Network टैब में सत्यापित करें, या लोड होने के बाद पेज को ऑफ़लाइन कर दें। आंतरिक दस्तावेज़, स्कैन की गई IDs, कार्य-प्रगति UI स्क्रीनशॉट या ऐसी किसी भी फ़ाइल को hash करने के लिए सुरक्षित जिसे आप अजनबी की हार्ड डिस्क पर कॉपी होते नहीं देखना चाहते।
संबंधित टूल
मुफ़्त Base64 एनकोडर और डिकोडर ऑनलाइन
पाठ को Base64 में एनकोड करें या Base64 को तुरंत पाठ में डिकोड करें। फ़ाइल-से-Base64 रूपांतरण का समर्थन करता है। मुफ़्त, कोई साइन-अप नहीं, आपके ब्राउज़र में चलता है।
मुफ़्त पासवर्ड जनरेटर ऑनलाइन
तुरंत मजबूत, यादृच्छिक पासवर्ड बनाएं। लंबाई कस्टमाइज़ करें, अपरकेस, लोअरकेस, नंबर और सिंबल शामिल करें। मुफ़्त, आपके ब्राउज़र में चलता है।
मुफ़्त URL एन्कोडर / डिकोडर
URL और URI घटकों को तुरंत एनकोड या डिकोड करें। encodeURI और encodeURIComponent विधियों का समर्थन करता है। मुफ़्त, निजी, बिना साइन-अप।