HMAC जेनरेटर (ब्राउज़र में HMAC-SHA256 की गणना करें)
यहीं पर HMAC SHA256 उत्पन्न करने के लिए एक HMAC गणना उपकरण। कुंजियाँ और इनपुट न तो भेजे जाते हैं और न ही संग्रहीत किए जाते हैं।
टेक्स्ट/Hex/Base64 इनपुट और Hex/Base64 आउटपुट का समर्थन करता है। ब्राउज़र के मानक क्रिप्टो API का उपयोग करके सुरक्षित रूप से गणना करता है।
इनपुट और आउटपुट
यह पृष्ठ पूरी तरह से ब्राउज़र के भीतर गणना करता है और डेटा नहीं भेजता है।
* API विनिर्देशों के अनुसार 'बाइट अनुक्रम' महत्वपूर्ण है। यदि कुंजी बाइनरी है, तो कृपया इसे Hex/Base64 में दर्ज करें।
विकल्प
यदि OS या कॉपी-पेस्ट के कारण न्यूलाइन कोड भिन्न होते हैं तो परिणाम बदल जाएंगे।
चूंकि API सिग्नेचर 'सटीक मिलान' मान लेते हैं, इसलिए सामान्य तौर पर वैसे ही रखना अनुशंसित है।
उपयोग
HMAC सिग्नेचर बनाने के बुनियादी 3 चरण।
- 1 कुंजी दर्ज करें (यदि API विशिष्टता बाइनरी है तो Hex / Base64 चुनें)
- 2 संदेश दर्ज करें (साइन करने के लिए स्ट्रिंग / पेलोड)
- 3 आउटपुट प्रारूप (Hex / Base64) चुनें और कॉपी करें
HMAC की गणना 'बाइट अनुक्रमों' पर की जाती है, 'कैरेक्टर स्ट्रिंग्स' पर नहीं। भले ही वे समान दिखें, यदि कैरेक्टर एनकोडिंग, न्यूलाइन या अतिरिक्त व्हाइटस्पेस भिन्न हैं तो परिणाम भिन्न होंगे (UTF-8 मानता है)।
उदाहरण (सत्यापन के लिए टेस्ट वेक्टर्स)
इनपुट फ़ील्ड भरने के लिए 'उदाहरण लोड करें' पर क्लिक करें।
सामान्य कमियां
यदि न्यूलाइन हैंडलिंग भिन्न होती है तो परिणाम बदल जाते हैं।
चूंकि सिग्नेचर सटीक मिलान मान लेते हैं, व्हाइटस्पेस हटाने से बेमेल हो सकता है।
Base64URL आमतौर पर +→-, /→_ का उपयोग करता है और = को छोड़ देता है। कृपया विनिर्देशों की जाँच करें।
उदाहरण: 'deadbeef' को 'स्ट्रिंग' के रूप में दर्ज करना बनाम इसे 'बाइट अनुक्रम 0xDE 0xAD...' के रूप में दर्ज करना।
पूरक जानकारी
एक गुप्त कुंजी और एक संदेश से सिग्नेचर बनाने का एक तंत्र। एक तीसरा पक्ष समान कुंजी के बिना समान परिणाम नहीं बना सकता है।
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। कृपया ऊपर दी गई कमियों की क्रम से जाँच करें।