logo
GeekFormat

HMAC जनरेशन और वेरिफिकेशन

हाशि एल्गोरिथ्म

अनुशंसित कुंजी लंबाई हैश आउटपुट की लंबाई के अनुरूप है: SHA-1=20 बाइट्स, SHA-256=32 बाइट्स, SHA-384=48 बाइट्स, SHA-512=64 बाइट्स

संदेश सामग्री0 अक्षर
HMAC Signature (Hex)
इनपुट की प्रतीक्षा...

नोट्स

  • HMAC स्रोत और अखंडता के प्रमाणीकरण के लिए कुंजी और हाशी एल्गोरिदम के आधार पर हस्ताक्षर उत्पन्न करता है
  • समर्थन SHA-1 / SHA-256 / SHA-384 / SHA-512
  • डेटा अपलोड किए बिना ब्राउज़र में स्थानीय रूप से उत्पन्न और मान्य दोनों
  • सत्यापन समय श्रृंखला के अंतर को कम करने के लिए बाइट्स द्वारा निश्चित लंबाई का उपयोग करता है

HMAC सिग्नेचर ऑनलाइन जनरेट और वेरिफाई करें। SHA सीरीज़ एल्गोरिदम सपोर्ट करता है, API सिग्नेचर और Webhook वेरिफिकेशन के लिए आदर्श।

संबंधित सुझाव

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

  • Stripe webhook development: Stripe payment callbacks debug करें और `Stripe-Signature` header की correctness verify करें
  • GitHub webhook integration: GitHub Push और Pull Request events के लिए `X-Hub-Signature-256` signature verify करें
  • Shopify order synchronization: Shopify order update webhooks के लिए `X-Shopify-Hmac-Sha256` signature validate करें
  • Slack bot signatures: Slack event callbacks के लिए `X-Slack-Signature` verify करें
  • JWT development debugging: HS256 के साथ JWT sign करें और token validity check करें
  • API request signing: AWS Signature V4 या custom API signing schemes implement करें

विशेषताएं

  • कई algorithms का support: HMAC-SHA256/384/512, SHA1 और MD5, modern APIs और legacy systems दोनों के लिए
  • Webhook signature verification: Stripe, GitHub, Shopify और Slack signature formats के लिए built-in support और auto-parsing
  • तीन output formats: Hex, Base64 और Base64URL, ताकि किसी भी API या platform requirement से match हो सके
  • Real-time generation: input बदलते ही 300ms debounce के साथ automatic calculation, अलग से button click की ज़रूरत नहीं
  • Signature verification mode: expected signature paste करें और real time में match result देखें
  • Key length detection: छोटी keys पर warning के साथ real-time key strength monitoring
  • Browser-based processing: local computation के लिए Web Crypto API, keys कभी server पर upload नहीं होतीं
  • JWT support: HMAC-SHA256 output को HS256 signing के लिए सीधे इस्तेमाल किया जा सकता है

उपयोग कैसे करें

  1. Algorithm चुनें: default HMAC-SHA256 है, जो modern APIs के लिए recommended है
  2. Message डालें: raw message body या API request content paste करें
  3. Key डालें: Webhook Secret या API Secret input करें
  4. Format चुनें: output format select करें, जैसे Stripe के लिए Hex या JWT के लिए Base64URL
  5. Signature verify करें: verification mode में जाएँ और compare करने के लिए expected signature paste करें

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

HMAC और सामान्य hashing में क्या अंतर है?

सामान्य hash फ़ंक्शन, जैसे SHA256, सिर्फ़ संदेश का digest बनाते हैं; इसे कोई भी निकाल सकता है। HMAC hashing प्रक्रिया में एक secret key जोड़ता है, इसलिए वैध signature केवल वही बना या verify कर सकता है जिसके पास वह key हो। इसी वजह से HMAC message integrity और authenticity दोनों की पुष्टि करता है, जबकि सामान्य hash केवल integrity जांचता है।

Stripe, GitHub या Shopify webhook signatures कैसे verify करें?

हर platform signature का format अलग रखता है: Stripe `Stripe-Signature` header में `t=timestamp,v1=hex_signature` format इस्तेमाल करता है और `timestamp.payload` string को sign करता है; GitHub `X-Hub-Signature-256` में `sha256=hex_signature` format देता है; Shopify `X-Shopify-Hmac-Sha256` में Base64-encoded value भेजता है। यह tool इन आम formats को सीधे verify कर सकता है।

Hex, Base64 और Base64URL output में क्या फर्क है?

Hex hexadecimal format (0-9, A-F) है, पढ़ने में आसान और debugging के लिए बहुत उपयोगी। Base64 64-character encoding है, जो ज़्यादा compact होती है और JSON में value embed करने के लिए सही रहती है। Base64URL इसका URL-safe version है (यह +/ को -_ से बदलता है), जिसे JWT headers और URL parameters में इस्तेमाल किया जाता है।

मुझे कौन-सा HMAC algorithm इस्तेमाल करना चाहिए?

**HMAC-SHA256 recommended option है**: APIs और webhooks के लिए यही modern standard है (Stripe, GitHub, Shopify और Slack इसका इस्तेमाल करते हैं), इसका output 32 bytes का होता है और support लगभग हर जगह मिलता है। SHA-512 ज़्यादा security margin देता है, लेकिन output लंबा होता है (64 bytes)। SHA1 सिर्फ़ legacy systems के लिए रखें। MD5 deprecated है और इसे केवल बहुत पुरानी APIs के लिए इस्तेमाल करना चाहिए, जहाँ यह अब भी अनिवार्य हो।

Key length के लिए क्या requirements हैं?

लंबी keys ज़्यादा सुरक्षित होती हैं। कम से कम 16 characters (128 bits) recommended हैं, और production के लिए 32 या उससे ज़्यादा characters बेहतर हैं। Tool key length को real time में monitor करता है और बहुत छोटी key पर warning देता है। Keys बनाने के लिए cryptographically secure random generator इस्तेमाल करें, simple passwords या predictable strings नहीं।

Signature verification mismatch क्यों दिखाता है?

आम कारण ये होते हैं: 1) message में extra whitespace या newlines हैं; 2) platform composite string sign कर रहा है, जैसे Stripe `timestamp.payload` sign करता है; 3) signature में कोई prefix है जिसे हटाना होगा, जैसे GitHub का `sha256=`; 4) algorithm अलग चुना गया है। दोनों sides पर बिल्कुल वही parameters इस्तेमाल हो रहे हैं या नहीं, यह ध्यान से जांचें।

क्या HMAC को JWT signing के लिए इस्तेमाल किया जा सकता है?

हाँ। JWT का HS256 algorithm HMAC-SHA256 है, और HS512 दरअसल HMAC-SHA512 है। इस tool से मिला HMAC-SHA256 output HS256 signature content के रूप में सीधे इस्तेमाल किया जा सकता है। JWT में Header और Payload को Base64URL में encode किया जाता है, फिर HS256 से sign किया जाता है।

क्या यह online HMAC tool सुरक्षित है?

यह tool सभी calculations आपके browser में locally करने के लिए Web Crypto API इस्तेमाल करता है। Keys और messages कभी किसी server पर नहीं भेजे जाते। आप browser DevTools के Network panel में देखकर इसकी पुष्टि कर सकते हैं: कोई external request नहीं होती। Testing और development के लिए यह उपयुक्त है; बहुत sensitive production keys के लिए local offline tools बेहतर रहेंगे।

क्या HMAC signatures forge किए जा सकते हैं?

नहीं, जब तक key secret रहती है और hash algorithm collision-resistant है। पर्याप्त लंबी और random keys के साथ valid HMAC signatures forge करने वाला कोई ज्ञात हमला नहीं है। Regular key rotation भी एक अच्छी security practice है।

HMAC जनरेशन और वेरिफिकेशन क्या है?

HMAC (Hash-based Message Authentication Code) RFC 2104 में defined एक widely used message authentication technology है। HMAC एक key और message को hash function के साथ process करके fixed-length signature बनाता है। सामान्य hashes से अलग, HMAC में signature generate या verify करने के लिए key पता होना ज़रूरी है, इसलिए यह message integrity और authenticity दोनों की गारंटी देता है।

**HMAC modern API security की बुनियादों में से एक है**। Stripe, GitHub, Shopify, Slack और Twilio webhook events को sign करने के लिए HMAC-SHA256 इस्तेमाल करते हैं, ताकि यह पक्का हो सके कि request सच में platform से आई है। AWS Signature V4 request signing में भी HMAC-SHA256 इस्तेमाल होता है। JWT का HS256 algorithm मूल रूप से HMAC-SHA256 ही है। HMAC समझना API security को समझने की पहली ठोस सीढ़ी है।

**हर platform का signature format अलग हो सकता है**: Stripe `t=timestamp,v1=hex_signature` format इस्तेमाल करता है और `timestamp.payload` sign करता है; GitHub `X-Hub-Signature-256` में `sha256=hex_signature` format देता है; Shopify `X-Shopify-Hmac-Sha256` में Base64-encoded value भेजता है। यह tool इन common formats को automatically parse और verify कर सकता है।

**Signature verification fail क्यों होती है?** सबसे आम वजह message format mismatch होती है: platform raw message body की जगह `timestamp.payload` sign कर सकता है; message में extra newlines हो सकती हैं; या signature में `sha256=` जैसा prefix हो सकता है जिसे हटाना पड़ता है। Platform documentation ध्यान से देखें और raw hexadecimal value से compare करें।

यह tool HMAC calculations के लिए browser की native **Web Crypto API** (SubtleCrypto) इस्तेमाल करता है, वही cryptographic foundation जिस पर HTTPS और TLS चलते हैं। सारी computation locally होती है; keys और messages कभी किसी server पर नहीं भेजे जाते। Browser DevTools का Network panel खोलकर आप verify कर सकते हैं कि कोई external request नहीं की जाती।

AES एन्क्रिप्ट और डिक्रिप्टऑडियो को Base64 में बदलेंBase32 एन्कोड / डिकोडBase58 एन्कोड / डिकोडBase64 बैच डिकोडBase64 बैच एन्कोडBase64 कैरेक्टर क्लीनरData URL कन्वर्टरBase64 डिकोडBase64 तुलनाकर्ताBase64 एन्कोडिंगBase64 फ़ॉर्मेटBase64-Hex कनवर्टरBase64 मर्जरBase64 MIMEBase64 पैडिंग प्रबंधकBase64 स्प्लिटरBase64 लंबई स्टैटिस्टिक्सBase64 से ऑडियोBase64 से फ़ाइलBase64 से HexBase64 से इमेजBase64 से टेक्स्टBase64 से वीडियोBase64 URL SafeBase64 फ़ॉर्मेट वैलिडेशनBase85 कोडेकबाइनरी रूपांतरणसीज़र सिफरDES एन्क्रिप्शन डिक्रिप्शनफ़ाइल हैश कैलकुलेटरफ़ाइल से Base64हेक्साडेसिमलHMAC जनरेशन और वेरिफिकेशनHTML एन्टिटी एन्कोड और डिकोडइमेज से Base64जावा ऑबफस्केशनJS ऑब्फस्केटJWT टूलMD5 हैशमोर्स कोडPBKDF2 की डेरिवेशनPHP ऑब्फस्केटPython ऑब्फस्केटSHA-1 हैश वैल्यूSHA-256 हैशSHA-512 हैश वैल्यूसेफ स्ट्रिंग कंपैरिजनटेक्स्ट से Base64Unicode एस्केपURL एन्कोडिंगवीडियो से Base64