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 किए गए मान आपके डिवाइस पर ही रहते हैं।

विशेषताएँ

SHA-3 और Keccak Hash जेनरेटर का उपयोग कैसे करें

  1. एक algorithm चुनें — SHA3-256, Keccak-256, SHAKE256, और अधिक
  2. टेक्स्ट hash करने के लिए UTF-8 या कच्ची बाइट hash करने के लिए Hex चुनें
  3. अपना इनपुट टाइप या पेस्ट करें; digest तुरंत दिखता है
  4. SHAKE के लिए, output length bit में सेट करें, फिर hex digest कॉपी करें

उदाहरण

इनपुट

algorithm: Keccak-256
input: "" (empty string)

आउटपुट

c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470

खाली-स्ट्रिंग Keccak-256 hash जिस पर Ethereum tooling हर जगह निर्भर करता है।

सामान्य त्रुटियाँ और समस्या निवारण

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

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 करने देता है।

संबंधित टूल

सभी ArrayKit टूल