HMAC (हैश-आधारित संदेश प्रमाणीकरण कोड) एक तकनीक है जो डेटा पारित करने या संग्रहित करने के प्रक्रिया में जानकारी का पूर्णता और संदेश की प्रामाणिकता की गारंटी देता है। यह एक एन्क्रिप्टेड हैश फ़ंक्शन और एक गुप्त कुंजी को जोड़ता है, जो नेटवर्क संचार और डेटा संग्रह में डेटा की पूर्णता की जाँच और पहचान करने के लिए प्रयुक्त होता है।
HMAC का काम करने का सिद्धांत है कि एक मानक हैश फ़ंक्शन (जैसे SHA-256) को एक गुप्त कुंजी के साथ कम्बिन किया जाता है। पहले, कुंजी और इनपुट डेटा (जैसे पाठ संदेश) का हैश मूल्य उत्पन्न किया जाता है, फिर इस हैश मूल्य को डेटा के साथ भेजा जाता है। प्राप्तकर्ता वही कुंजी और हैश फ़ंक्शन का पुनर्गणन करता है, और प्राप्त हैश मूल्य को प्राप्त किया जाता है और प्राप्त हैश मूल्य को तुलना किया जाता है। यदि दोनों हैश मूल्य मेल खाते हैं, तो यह साबित करता है कि डेटा को पारित करते समय कोई भी अतिसंवेदनशीलता नहीं हुई है, जिससे डेटा की पूर्णता और सुरक्षा सुनिश्चित होती है।
HMAC का मुख्य लाभ इसकी सुरक्षा में है। HMAC गुप्त कुंजी और हैश फ़ंक्शन को जोड़ता है, इसलिए यदि हमलावर हैश एल्गोरिदम को समझता है, तो भी वह कुंजी के बिना कोई वैध हैश मूल्य नहीं बना सकता। इसके कारण, HMAC को उच्च सुरक्षा आवश्यकताओं (जैसे इलेक्ट्रॉनिक भुगतान, डिजिटल हस्ताक्षर और नेटवर्क संचार सुरक्षा) में बहुत उपयोगी माना जाता है।
HMAC का उपयोग किसी विशेष हैश फ़ंक्शन से ही सीमित नहीं है, सिद्धांततः यह किसी भी एन्क्रिप्टेड हैश फ़ंक्शन के साथ किया जा सकता है। इसका मतलब है कि एन्क्रिप्टेड तकनीक के विकास के साथ, HMAC को उच्च स्तरीय हैश एल्गोरिदम के साथ संयोजित किया जा सकता है, जिससे सुरक्षा बढ़ती है।