SHA-3 और Keccak Hash जेनरेटर
टेक्स्ट या hex बाइट से SHA3-224/256/384/512, Keccak-256/512, और SHAKE128/256 digest की गणना करें, सीधे आपके ब्राउज़र में।
SHA-3 और Keccak Hash जेनरेटर पूरी तरह आपके ब्राउज़र में चलता है। आपके द्वारा hash किए गए टेक्स्ट और hex बाइट आपके डिवाइस पर प्रोसेस होते हैं और कभी ArrayKit पर अपलोड नहीं होते।
SHA-256 और SHA-1 Hash टूल खोलें
SHA-3 और Keccak Hash जेनरेटर के बारे में
SHA-3 और Keccak Hash जेनरेटर पूरे FIPS 202 परिवार की गणना करता है — SHA3-224, SHA3-256, SHA3-384, और SHA3-512 — साथ ही मूल Keccak-256 और Keccak-512 तथा SHAKE128/SHAKE256 extendable-output फ़ंक्शन। UTF-8 टेक्स्ट टाइप करें या कच्ची बाइट hash करने के लिए hex मोड पर स्विच करें, और lowercase digest आपके टाइप करते ही अपडेट होता है। यह इन algorithm के इर्द-गिर्द की रोज़मर्रा की उलझन के लिए बना है: SHA3-256 और Keccak-256 एक जैसे दिखते हैं पर एक padding बाइट से भिन्न होते हैं, और Ethereum ने standard के अंतिम रूप लेने से पहले Keccak-256 चुन लिया था। इसका उपयोग एक Ethereum function selector निकालने, किसी Solidity keccak256 परिणाम को सत्यापित करने, एक SHA-3 checksum जाँचने, या एक SHAKE output length चुनने के लिए करें। हर digest आपके ब्राउज़र में गणना होता है, इसलिए आपके द्वारा hash किए गए मान आपके डिवाइस पर ही रहते हैं।
विशेषताएँ
- NIST FIPS 202 से SHA3-224, SHA3-256, SHA3-384, और SHA3-512 को कवर करता है
- Ethereum भर में उपयोग होने वाले मूल Keccak-256 और Keccak-512 शामिल हैं
- आपके द्वारा चुनी गई byte-aligned output length के साथ SHAKE128 और SHAKE256
- एक-क्लिक टॉगल के साथ UTF-8 टेक्स्ट hash करें या कच्ची hex बाइट पेस्ट करें
- digest आपके टाइप करते ही लाइव अपडेट होता है और एक क्लिक में कॉपी होता है
- bit में digest length दिखाता है ताकि आप सही variant की पुष्टि कर सकें
- जब पेस्ट की गई hex की length विषम हो या वर्ण खराब हों तो स्पष्ट त्रुटि
- पूरी तरह आपके ब्राउज़र में चलता है — आपके द्वारा hash किया गया कुछ भी अपलोड नहीं होता
SHA-3 और Keccak Hash जेनरेटर का उपयोग कैसे करें
- एक algorithm चुनें — SHA3-256, Keccak-256, SHAKE256, और अधिक
- टेक्स्ट hash करने के लिए UTF-8 या कच्ची बाइट hash करने के लिए Hex चुनें
- अपना इनपुट टाइप या पेस्ट करें; digest तुरंत दिखता है
- SHAKE के लिए, output length bit में सेट करें, फिर hex digest कॉपी करें
उदाहरण
इनपुट
algorithm: Keccak-256
input: "" (empty string)
आउटपुट
c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
खाली-स्ट्रिंग Keccak-256 hash जिस पर Ethereum tooling हर जगह निर्भर करता है।
सामान्य त्रुटियाँ और समस्या निवारण
- एक ही टेक्स्ट के लिए SHA3-256 और Keccak-256 अलग परिणाम देते हैं। — यह अपेक्षित है — वे अलग padding उपयोग करते हैं। Ethereum और Solidity के keccak256 के लिए Keccak-256 उपयोग करें; NIST-मानक hash के लिए SHA3-256 उपयोग करें।
- Hex मोड अंकों की विषम संख्या बताता है। — हर बाइट दो hex वर्ण है, इसलिए इनपुट की length सम होनी चाहिए। कोई भी भटका हुआ nibble या गैर-hex वर्ण हटाएँ और फिर कोशिश करें।
- एक SHAKE digest अपेक्षा से लंबा या छोटा है। — SHAKE length bit में सेट होती है, बाइट में नहीं — 256 bit 64 hex वर्ण है। सुनिश्चित करें कि length 8 का एक धनात्मक गुणज है।
- digest मेरे Solidity keccak256 आउटपुट से मेल नहीं खाता। — Solidity ABI-encoded मान की कच्ची बाइट hash करता है। Hex मोड पर स्विच करें और मानव-पठनीय टेक्स्ट के बजाय ठीक वही बाइट पेस्ट करें।
अक्सर पूछे जाने वाले प्रश्न
- SHA-3 और Keccak-256 में क्या अंतर है?
- वे एक ही Keccak sponge चलाते हैं पर padding से पहले एक अलग domain-separation बाइट जोड़ते हैं (SHA-3 के लिए 0x06, Keccak के लिए 0x01)। वह एकमात्र अंतर उनके digest को पूरी तरह भिन्न बना देता है, इसलिए SHA3-256 से hash किया गया कोई मान कभी उसी मान के Keccak-256 hash के बराबर नहीं होगा।
- Ethereum SHA3-256 के बजाय Keccak-256 क्यों उपयोग करता है?
- Ethereum ने NIST द्वारा SHA-3 को थोड़ा भिन्न padding के साथ अंतिम रूप देने से पहले मूल Keccak submission से Keccak-256 अपनाया। संगत रहने के लिए, Ethereum और Solidity के keccak256 ने मूल variant रखा, यही कारण है कि address और function selector Keccak-256 पर बने हैं।
- SHAKE128 और SHAKE256 क्या हैं?
- वे extendable-output फ़ंक्शन (XOF) हैं: एक निश्चित आकार के बजाय आप चुनते हैं कि आपको digest के कितने bit चाहिए। 128 और 256 उनकी सुरक्षा शक्ति को दर्शाते हैं, output length को नहीं, इसलिए आप किसी से भी 128, 256, 512 या अधिक bit माँग सकते हैं।
- ABI-encoded डेटा पर एक keccak256 कॉल से मेल खाने के लिए मैं कच्ची बाइट कैसे hash करूँ?
- इनपुट टॉगल को Hex पर सेट करें और बाइट को hexadecimal के रूप में पेस्ट करें — एक वैकल्पिक 0x प्रीफ़िक्स और spaces ठीक हैं। टूल उनके UTF-8 टेक्स्ट के बजाय ठीक वही बाइट hash करता है, जो encoded डेटा पर एक Solidity keccak256 अपेक्षा करता है।
- क्या SHA-3 बस SHA-256 का तेज़ या अधिक सुरक्षित संस्करण है?
- नहीं। SHA-3 एक पूरी तरह अलग design है — SHA-256 के पीछे की Merkle–Damgård संरचना के बजाय एक Keccak sponge — जिसे एक मानकीकृत विकल्प के रूप में चुना गया। एक ही digest आकार पर वे तुलनीय collision प्रतिरोध देते हैं, और उनके आउटपुट पूरी तरह भिन्न होते हैं, इसलिए SHA-3 एक drop-in प्रतिस्थापन नहीं है।
- SHAKE के लिए मुझे कौन-सी output length चुननी चाहिए?
- जो भी विनिर्देश आप कार्यान्वित कर रहे हैं वह माँगे उससे मिलाएँ। एक सामान्य डिफ़ॉल्ट SHAKE128 के लिए 256 bit और SHAKE256 के लिए 512 bit है, पर 8 bit का कोई भी धनात्मक गुणज काम करता है — यह टूल वे डिफ़ॉल्ट भर देता है और आपको उन्हें override करने देता है।
संबंधित टूल
- हैश जेनरेटर — Web Crypto API के माध्यम से SHA-256 / SHA-1 / SHA-384 / SHA-512।
- File Hash Checksum — किसी भी फ़ाइल के MD5, SHA-1, SHA-256 और SHA-512 checksum की गणना करें और सत्यापित करें।
- HMAC जेनरेटर — SHA-256/SHA-1/SHA-512 के साथ एक सीक्रेट की से एक संदेश साइन करें।
- Base64 एन्कोड / डिकोड — UTF-8-सुरक्षित Base64 एन्कोडिंग और डिकोडिंग।
- AES एन्क्रिप्शन टूल — AES-256-GCM का उपयोग करके एक passphrase से टेक्स्ट encrypt और decrypt करें।
- X.509 सर्टिफ़िकेट डिकोडर — एक PEM या DER सर्टिफ़िकेट को subject, वैधता, SAN और फ़िंगरप्रिंट में डिकोड करें।
सभी ArrayKit टूल