مولّد ومحقق HMAC
إنشاء وتحقق رموز مصادقة الرسائل HMAC باستخدام SHA-256 أو SHA-384 أو SHA-512 أو SHA-1 مع مفتاح سري، بالكامل في متصفحك.
🔒 تتم معالجتها بالكامل في متصفحك — ولا يتم تحميل أي شيء تدخله هنا على الإطلاق.
النتيجة
رمز مصادقة الرسائل HMAC هو بناء تشفيري بمفتاح يجمع بين مفتاح سري ورسالة عبر دالة تجزئة مثل SHA-256. على عكس التجزئة العادية التي يمكن لأي شخص إعادة حسابها من الرسالة وحدها، لا يمكن إعادة إنتاج HMAC إلا من قبل شخص يحمل نفس المفتاح السري — وهذا ما يجعله رمز مصادقة وليس مجرد مجموع تدقيقي.
هذا هو الفرق الجوهري عن التجزئة العادية: أداتنا لتوليد التجزئة تحسب تجزئات غير مفتاحية مثل MD5 أو SHA-256، وهي رائعة لاكتشاف التلف العارض ولكنها لا تثبت شيئًا عن منتج البيانات، إذ يمكن لأي شخص توليد نفس التجزئة. أما HMAC فيثبت السلامة (أن الرسالة لم تُعدَّل) والأصالة (أن الموقّع يعرف السر المشترك)، ولهذا فإن HMAC هو اللبنة الأساسية وراء توقيع طلبات API وخوارزميات HS256 وHS384 وHS512 في JWT ومصادقة سجلات TLS.
أكثر حالات الاستخدام الواقعية شيوعًا هي التحقق من توقيعات webhook. خدمات مثل Stripe وGitHub وShopify توقّع كل حمولة webhook بـ HMAC-SHA256 باستخدام سر تقوم أنت بضبطه، وترسل التوقيع الناتج في ترويسة الطلب. من المتوقع أن يقوم خادمك بإعادة حساب HMAC على الحمولة الخام بنفس السر ومقارنتها بقيمة الترويسة — إذا تطابقتا، فأنت تعلم أن الطلب جاء بالفعل من تلك الخدمة ولم يُعبث به أثناء النقل. وضع التحقق في هذه الأداة يعيد إنتاج هذا الفحص بالضبط: الصق الحمولة والسر المشترك والتوقيع المستلم، واحصل فورًا على تطابق أو عدم تطابق.
كل شيء يعمل محليًا عبر واجهة Web Crypto API الأصلية للمتصفح (crypto.subtle.importKey و crypto.subtle.sign)، لذا فإن المفتاح السري ونص الرسالة والتوقيع الناتج لا يغادرون جهازك أبدًا — لا يُرفَع شيء إلى أي خادم، وهذا مهم لأن أسرار HMAC هي بالضبط نوع القيم التي يجب ألا تلصقها أبدًا في أداة عشوائية على الإنترنت قد تسجلها.