हैश/क्रिप्टो

HMAC Generator

सीक्रेट की के साथ टेक्स्ट या फ़ाइल का HMAC (Hash-based Message Authentication Code) कैलकुलेट करें — एक साथ आठ एल्गोरिदम में: MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, RIPEMD-160।

HMAC (Hash-based Message Authentication Code) is a hash computed together with a secret key, proving a message hasn't changed and was sent by someone who knows that key. Unlike a plain hash, an HMAC can't be forged without knowing the secret.

How to use it

Common uses

Things to keep in mind

HMAC protects against tampering and confirms the sender's authenticity, but it doesn't encrypt the message itself — the content stays readable.

A mismatched HMAC is most often caused by different data encoding (e.g. JSON field order) or a stray whitespace or line break, not by a bug in the algorithm itself.

इस टूल के बारे में लेख: HMAC: की वाला हैश सामान्य हैश से कैसे अलग है

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

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

सामान्य हैश केवल यह साबित करता है कि डेटा बदला नहीं गया; HMAC इसके अतिरिक्त एक गुप्त कुंजी का उपयोग करता है, इसलिए यह इंटीग्रिटी के साथ-साथ यह भी साबित करता है कि भेजने वाले को साझा सीक्रेट पता था — बिना कुंजी के कोई भी वैध HMAC नहीं बना सकता, भले ही उसे एल्गोरिद्म पता हो।

HMAC के लिए कौन-सा हैश एल्गोरिद्म चुनना चाहिए?

HMAC-SHA256 एक मज़बूत आधुनिक डिफ़ॉल्ट है। पुराने विकल्प जैसे HMAC-MD5 या HMAC-SHA1 विशेष रूप से HMAC के रूप में अभी टूटे नहीं हैं, लेकिन नए सिस्टम के लिए SHA-256 या उससे मज़बूत की सलाह दी जाती है।

क्या मेरी गुप्त कुंजी कहीं भेजी जाती है?

नहीं। HMAC पूरी तरह आपके ब्राउज़र में Web Crypto API के ज़रिए गणना होती है — कुंजी और संदेश कभी आपके डिवाइस से बाहर नहीं जाते।

HMAC की तुलना सामान्य इक्वलिटी ऑपरेटर से क्यों नहीं करनी चाहिए?

सामान्य स्ट्रिंग तुलना पहली बेमेल जगह पर रुक जाती है, और लगने वाला समय हमलावर को बता देता है कि उसने कितने शुरुआती अक्षर सही अंदाज़े में लगाए (timing attack)। इसके लिए कॉन्स्टेंट-टाइम तुलना फ़ंक्शन चाहिए, जैसे PHP का hash_equals।

क्या एक ही कुंजी कई अलग-अलग मक़सद के लिए इस्तेमाल की जा सकती है?

इसकी सलाह नहीं दी जाती। अगर वही सीक्रेट की वेबहुक साइनिंग और किसी दूसरे मक़सद दोनों के लिए इस्तेमाल हो, तो एक सिस्टम के कॉम्प्रोमाइज़ होने से दूसरा भी अपने-आप कॉम्प्रोमाइज़ हो जाता है — हर अलग मक़सद के लिए अलग कुंजी जनरेट करनी चाहिए।

लेख: हैश/क्रिप्टो

Hash Generator: MD5, SHA-1 और SHA-256 एक-दूसरे से कैसे अलग हैं

MD5 अब भी फ़ाइल इंटीग्रिटी जाँचने के लिए क्यों इस्तेमाल होता है, लेकिन पासवर्ड के लिए नहीं।

Checksum Verifier: यह कैसे जाँचें कि कोई फ़ाइल खराब तो नहीं है

मैच होता चेकसम फ़ाइल की इंटीग्रिटी की पुष्टि क्यों करता है, लेकिन यह नहीं बताता कि उसे किसने बनाया।

Bcrypt: पासवर्ड धीरे क्यों हैश किए जाते हैं, तेज़ नहीं

तेज़ SHA-256 पासवर्ड के लिए बुरा विकल्प क्यों है, और धीमा bcrypt सही विकल्प क्यों है।

UUID: ऐसे आइडेंटिफ़ायर कैसे बनते हैं जो लगभग कभी नहीं दोहराते

UUID v4 को लाखों मशीनों पर स्वतंत्र रूप से बिना कोलिज़न के जोखिम के क्यों जनरेट किया जा सकता है।

पासवर्ड जनरेटर: पासवर्ड को असल में मज़बूत क्या बनाता है

डिक्शनरी शब्दों से बना लंबा पासवर्ड सिंबल और अंकों वाले छोटे पासवर्ड से ज़्यादा मज़बूत क्यों होता है।

AES: सिमेट्रिक एन्क्रिप्शन कैसे काम करता है

AES में एक ही की डेटा को एन्क्रिप्ट और डिक्रिप्ट क्यों करती है, और यह असिमेट्रिक एन्क्रिप्शन से कैसे अलग है।

Argon2: यह एल्गोरिदम पासवर्ड हैशिंग प्रतियोगिता क्यों जीता

Argon2 पुराने पासवर्ड हैशिंग एल्गोरिदम की तुलना में GPU से होने वाले अटैक से बेहतर बचाव कैसे करता है।

Scrypt: इस एल्गोरिदम को इतनी मेमोरी की ज़रूरत क्यों है

ASIC डिवाइस पर क्रैकिंग मुश्किल बनाने के लिए scrypt जानबूझकर इतनी मेमोरी क्यों माँगता है।

TOTP: ऑथेंटिकेटर ऐप्स में वन-टाइम कोड कैसे काम करते हैं

Google Authenticator का कोड बिना इंटरनेट के क्यों काम करता है और सर्वर से सिर्फ़ समय के ज़रिए सिंक होता है।

PBKDF2: की स्ट्रेचिंग का सबसे पुराना मानक

PBKDF2 की सुझाई गई इटरेशन संख्या हर साल क्यों बढ़ती है।

X.509: SSL सर्टिफ़िकेट के अंदर क्या होता है

ग्रीन लॉक दिखाने से पहले ब्राउज़र किसी साइट के सर्टिफ़िकेट में ठीक-ठीक क्या जाँचता है।

PGP: पब्लिक और प्राइवेट की एन्क्रिप्शन कैसे काम करता है

PGP पब्लिक की को स्वतंत्र रूप से क्यों शेयर किया जा सकता है, लेकिन प्राइवेट की को कभी नहीं।