Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
about-hmac — HMAC कार्यान्वयन उदाहरण और व्याख्या | Kitploit
उपकरण/GitHubGitHub/password123456/about-hmac
क्रिप्टोग्राफीप्रमाणीकरणलर्निंग और शिक्षाAPI सुरक्षा
GitHubpassword123456/about-hmac

about-hmac

HMAC कार्यान्वयन उदाहरण और व्याख्या

रिपॉजिटरी देखें
242 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

HMAC के बारे में

made-with-python Python Versions Hits

Flask का उपयोग करके Python में बेसिक HMAC (हैश-आधारित संदेश प्रमाणीकरण कोड) का एक उदाहरण कार्यान्वयन।

HMAC क्या है?!

हैश-आधारित संदेश प्रमाणीकरण कोड (HMAC) सर्वर और क्लाइंट को एक निजी कुंजी प्रदान करता है जो केवल उस विशिष्ट सर्वर और उस विशिष्ट क्लाइंट को ज्ञात होती है। क्लाइंट सर्वर को प्रति अनुरोध एक अद्वितीय HMAC या हैश बनाता है, जो अनुरोध डेटा को निजी कुंजियों के साथ हैश करके और इसे अनुरोध के भाग के रूप में भेजता है। HMAC को संदेश प्रमाणीकरण कोड (MAC) से अधिक सुरक्षित बनाने वाली बात यह है कि कुंजी और संदेश को अलग-अलग चरणों में हैश किया जाता है।

img

उदाहरण

(1) क्लाइंट द्वारा सर्वर को अनुरोध

  • जब कोई क्लाइंट सर्वर को अनुरोध भेजता है, तो उसमें निम्नलिखित हेडर शामिल होते हैं:

  • X-Authorization-Content-HMAC: HMAC हैश (पूरा अनुरोध URI, वर्तमान Unix टाइमस्टैम्प (UTC), और HMAC सीक्रेट कुंजी)

  • X-Authorization-Timestamp: क्लाइंट का वर्तमान Unix टाइमस्टैम्प (UTC)

root@kitploit:~
(request)
GET /example/users?user=test&institutionID=999&signature=7e745d74b69b7f62e8e2 HTTP/1.1
Host: example.com
X-Authorization-Content-HMAC: 1c73495878ccea24af9dd281a4c883c40a3551ba799d30f4ad7d9afb6a60fbd4
X-Authorization-Timestamp: 1711662980

[ क्लाइंट अनुरोध प्रक्रिया ]

  • क्लाइंट अनुरोध तैयार करता है और सर्वर को भेजता है।
  • सर्वर HMAC अखंडता और टाइमस्टैम्प वैधता सत्यापित करके अनुरोध को मान्य करता है।
  • यदि सत्यापन सफल होता है, तो सर्वर अनुरोध को संसाधित करता है; अन्यथा, यह एक त्रुटि प्रतिक्रिया भेजता है।

(2) सर्वर द्वारा क्लाइंट को प्रतिक्रिया

  • जब सर्वर एक वैध अनुरोध का जवाब देता है, तो उसमें निम्नलिखित हेडर शामिल होते हैं:

  • X-Response-Content-HMAC: HMAC हैश (पूरा प्रतिक्रिया निकाय, वर्तमान Unix टाइमस्टैम्प (UTC), और HMAC सीक्रेट कुंजी)

  • X-Response-Content-TimeStamp: वर्तमान Unix टाइमस्टैम्प (UTC)

root@kitploit:~
(response)
HTTP/2 200 OK
Date: Fri, 29 Mar 2024 06:50:49 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 52
X-Response-Content-HMAC: 529c33aac3e33bf2a95d534f8b3ac61dee2ed79232d729e571dc669417a1a2ae
X-Response-Content-TimeStamp: 1711663027
Connection: close

{"result": "ok", "users": "test", "sub": 2840345654}

[ प्रतिक्रिया प्रक्रिया ]

  • सर्वर प्रतिक्रिया डेटा तैयार करता है और क्लाइंट को भेजता है।
  • (अतिरिक्त) यदि आवश्यक हो, तो क्लाइंट प्रतिक्रिया डेटा की HMAC अखंडता को सत्यापित कर सकता है।
  • यदि सत्यापन विफल होता है, तो क्लाइंट प्रतिक्रिया डेटा को अस्वीकार कर देता है।
root@kitploit:~
Server response HMAC verification successful
--------------
Response timestamp: 2024-03-29T09:25:31
Current time: 2024-03-29T09:25:31
Time difference: 0

अतिरिक्त नोट्स

  • GET या POST का उपयोग करने का कोई सख्त नियम नहीं है; हालाँकि, सुरक्षा कारणों से POST को आमतौर पर प्राथमिकता दी जाती है। GET अनुरोधों का उपयोग करने से सभी क्वेरी स्ट्रिंग वेब एक्सेस लॉग में लॉग हो सकती हैं।
  • समय स्थिरता बनाए रखने और समय-क्षेत्र से संबंधित समस्याओं से बचने के लिए टाइमस्टैम्प जानकारी के लिए हमेशा UTC Unix टाइमस्टैम्प का उपयोग करें।
  • HMAC गणना का दायरा भिन्न हो सकता है। जबकि इसमें आमतौर पर पूरे प्रतिक्रिया निकाय को हैश करना शामिल होता है, डेटा का चयनात्मक हैशिंग भी संभव है, विशेषकर जब प्रतिक्रिया निकाय बड़ा हो।
  • HMAC एल्गोरिदम (जैसे, Hmac-SHA256, Hmac-SHA512) और सीक्रेट कुंजी लंबाई का चुनाव सुरक्षा आवश्यकताओं और सर्वोत्तम प्रथाओं पर आधारित होना चाहिए।

रीप्ले अनुरोध रोकथाम

  • सर्वर संसाधित अनुरोधों को मेमोरी (जैसे, Redis) में संग्रहीत कर सकता है और रीप्ले हमलों को रोकने के लिए एक निश्चित समय सीमा के भीतर दोहराए गए अनुरोधों को त्याग सकता है।
  • इसके अतिरिक्त, सर्वर अनुरोध हेडर में क्लाइंट द्वारा भेजे गए टाइमस्टैम्प हेडर (X-Authorization-Timestamp) की वर्तमान सर्वर समय से तुलना करके रीप्ले हमले की रोकथाम को बढ़ा सकता है। यदि टाइमस्टैम्प एक निश्चित समय सीमा से बाहर आता है, तो सर्वर अनुरोध को त्याग सकता है।

और...

यदि आपको यह उपयोगी लगे, तो कृपया आगे के सुधारों का समर्थन करने के लिए "स्टार"🌟 दें।

टूल डाउनलोड करें