कोई डेटा नहीं भेजा गया

HMAC जेनरेटर (ब्राउज़र में HMAC-SHA256 की गणना करें)

यहीं पर HMAC SHA256 उत्पन्न करने के लिए एक HMAC गणना उपकरण। कुंजियाँ और इनपुट न तो भेजे जाते हैं और न ही संग्रहीत किए जाते हैं।

टेक्स्ट/Hex/Base64 इनपुट और Hex/Base64 आउटपुट का समर्थन करता है। ब्राउज़र के मानक क्रिप्टो API का उपयोग करके सुरक्षित रूप से गणना करता है।

स्थानीय गणना कोई स्टोरेज नहीं Hex/Base64 समर्थित

इनपुट और आउटपुट

यह पृष्ठ पूरी तरह से ब्राउज़र के भीतर गणना करता है और डेटा नहीं भेजता है।

कोई डेटा नहीं भेजा गया
इनपुट प्रारूप

* API विनिर्देशों के अनुसार 'बाइट अनुक्रम' महत्वपूर्ण है। यदि कुंजी बाइनरी है, तो कृपया इसे Hex/Base64 में दर्ज करें।

इनपुट प्रारूप
आउटपुट लंबाई: 32 बाइट्स (SHA-256)
विकल्प

यदि OS या कॉपी-पेस्ट के कारण न्यूलाइन कोड भिन्न होते हैं तो परिणाम बदल जाएंगे।

चूंकि API सिग्नेचर 'सटीक मिलान' मान लेते हैं, इसलिए सामान्य तौर पर वैसे ही रखना अनुशंसित है।

उपयोग

HMAC सिग्नेचर बनाने के बुनियादी 3 चरण।

  1. 1 कुंजी दर्ज करें (यदि API विशिष्टता बाइनरी है तो Hex / Base64 चुनें)
  2. 2 संदेश दर्ज करें (साइन करने के लिए स्ट्रिंग / पेलोड)
  3. 3 आउटपुट प्रारूप (Hex / Base64) चुनें और कॉपी करें

HMAC की गणना 'बाइट अनुक्रमों' पर की जाती है, 'कैरेक्टर स्ट्रिंग्स' पर नहीं। भले ही वे समान दिखें, यदि कैरेक्टर एनकोडिंग, न्यूलाइन या अतिरिक्त व्हाइटस्पेस भिन्न हैं तो परिणाम भिन्न होंगे (UTF-8 मानता है)।

उदाहरण (सत्यापन के लिए टेस्ट वेक्टर्स)

इनपुट फ़ील्ड भरने के लिए 'उदाहरण लोड करें' पर क्लिक करें।

उदाहरण 1
कुंजी (टेक्स्ट/UTF-8)
secret
संदेश (टेक्स्ट/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
उदाहरण 2
कुंजी (टेक्स्ट/UTF-8)
key
संदेश (टेक्स्ट/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

सामान्य कमियां

न्यूलाइन कोड अंतर (LF/CRLF)

यदि न्यूलाइन हैंडलिंग भिन्न होती है तो परिणाम बदल जाते हैं।

ट्रिमिंग (व्हाइटस्पेस हटाना)

चूंकि सिग्नेचर सटीक मिलान मान लेते हैं, व्हाइटस्पेस हटाने से बेमेल हो सकता है।

Base64URL नोटेशन

Base64URL आमतौर पर +→-, /→_ का उपयोग करता है और = को छोड़ देता है। कृपया विनिर्देशों की जाँच करें।

कुंजी हैंडलिंग (टेक्स्ट बनाम बाइनरी)

उदाहरण: 'deadbeef' को 'स्ट्रिंग' के रूप में दर्ज करना बनाम इसे 'बाइट अनुक्रम 0xDE 0xAD...' के रूप में दर्ज करना।

पूरक जानकारी

HMAC क्या है?

एक गुप्त कुंजी और एक संदेश से सिग्नेचर बनाने का एक तंत्र। एक तीसरा पक्ष समान कुंजी के बिना समान परिणाम नहीं बना सकता है।

SHA-256 से अंतर

SHA-256 एक 'हैश' है, HMAC एक 'की-हैश (सिग्नेचर)' है।

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

API सिग्नेचर, वेबहुक (Webhook) सत्यापन, अनुरोध छेड़छाड़ का पता लगाने आदि के लिए उपयोग किया जाता है।

सामान्य प्रश्न

क्या कुंजी संग्रहीत की जाती है?

यह संग्रहीत नहीं की जाती है। यह उपकरण ब्राउज़र के भीतर गणना करता है और सर्वर पर कुंजियाँ या संदेश नहीं भेजता है। (※सावधानी के तौर पर, कृपया साझा पीसी पर इनपुट करने के बाद रीसेट करें)

Base64 या Hex?

दोनों का उपयोग किया जाता है। आप आउटपुट प्रारूप (Hex / Base64 / Base64URL) चुन सकते हैं। कृपया API विनिर्देशों के अनुसार चुनें।

कैरेक्टर एनकोडिंग?

UTF-8 मानता है। गणना के लिए टेक्स्ट इनपुट को UTF-8 के रूप में बाइट्स में बदल दिया जाता है। बाइनरी को संभालने के लिए Hex / Base64 इनपुट का उपयोग करें।

HMAC और SHA-256 हैश में क्या अंतर है?

SHA-256 एक 'हैश' है, HMAC एक 'की-हैश (सिग्नेचर)' है। जब तक कुंजियाँ मेल नहीं खातीं, तब तक वही परिणाम नहीं दिया जा सकता।

आउटपुट मेल नहीं खा रहा है

सामान्य कारण हैं (1) कुंजी हैंडलिंग (टेक्स्ट बनाम बाइनरी), (2) न्यूलाइन, (3) व्हाइटस्पेस, (4) Base64URL। कृपया ऊपर दी गई कमियों की क्रम से जाँच करें।