كل الأدوات تعمل داخل متصفحك — ملفاتك لا تغادر جهازك أبدًا.
All tools154

المطورون

توليد توقيع HMAC

توليد تواقيع HMAC للتحقق من الطلبات.

ما الذي تفعله. تولّد هذه الأداة تواقيع HMAC بخوارزميات التجزئة الشائعة. ويُستخدم HMAC أساسًا للتحقق من أن رسالة واردة صادرة فعلًا من الجهة المتوقعة ولم تُعدَّل.
يعمل في متصفحكلا يتم رفع أي شيءبدون تسجيليعمل دون اتصال

كيفية الاستخدام توليد توقيع HMAC

  1. أدخل الرسالة والمفتاح السري.
  2. اختر الخوارزمية، وغالبًا SHA-256.
  3. قارن التوقيع الناتج بالتوقيع المستلم.

لماذا نحتاج إلى HMAC

أشيع استخدام عملي هو التحقق من الطلبات الواردة.

حين ترسل خدمة خارجية طلبًا إلى خادمك — تأكيد دفعة، أو إشعار حالة — لا تعرف ابتداءً أنه صادر منها فعلًا، فعنوانك قد يعرفه أي أحد.

وHMAC يحل ذلك: يحسب المرسل توقيعًا من محتوى الرسالة ومن سر مشترك ويرسله معها. وتحسب أنت التوقيع نفسه بالسر نفسه وتقارن.

فإن تطابقا، كانت الرسالة من جهة تعرف السر، ولم تُعدَّل في الطريق.

والاستخدام الثاني هو توقيع طلبات واجهات البرمجة، حيث تُوقَّع الطريقة والمسار والطابع الزمني والمحتوى معًا.

ونقطة مهمة للتصنيف: HMAC ليس تشفيرًا. الرسالة تبقى مقروءة، وهو يضمن المصدر وسلامة المحتوى فقط.

وليس توقيعًا رقميًا بالمعنى القانوني: الطرفان يعرفان السر نفسه، فكلاهما قادر على إنتاج التوقيع. أما التوقيع الإلكتروني المعتمد قانونًا في دول الخليج فيقوم على أنظمة المعاملات الإلكترونية وعلى جهات تصديق مرخّصة، وآليته غير متماثلة.

التحقق الصحيح

تتكرر الأخطاء نفسها عند التحقق.

قارن التواقيع مقارنة ثابتة الزمن. فالمقارنة النصية المعتادة تتوقف عند أول اختلاف، ومن زمن التنفيذ يمكن تخمين التوقيع الصحيح تدريجيًا. وتوفّر أغلب اللغات دالة مخصصة لذلك.

ووقّع المحتوى الخام للطلب لا الكائن بعد تحليله وإعادة تركيبه. فاختلاف بسيط في المسافات أو في ترتيب مفاتيح JSON يغيّر التوقيع.

وافحص الطابع الزمني إن أرسله المزوّد، وارفض الطلبات القديمة. وإلا أمكن لمهاجم إعادة إرسال رسالة صحيحة لاحقًا.

وانتبه للترميز بدقة: ست عشري أم Base64، بأحرف كبيرة أم صغيرة، مع بادئة أم بدونها. تختلف الجهات في ذلك، وهو أشيع سبب لتوقيع يكاد يتطابق ولا يتطابق.

وتعامل مع السر كما تتعامل مع كلمة المرور: لا في الشيفرة، ولا في المستودع، بل في إعدادات البيئة.

أي خوارزمية

اختيار خوارزمية التجزئة أبسط مما يبدو.

أي خوارزمية
الخوارزميةالتقييم
HMAC-SHA256الخيار القياسي
HMAC-SHA512جيدة كذلك
HMAC-SHA1قديمة، للأنظمة الموروثة فقط
HMAC-MD5لا تُستخدم

SHA-256 هو الخيار الافتراضي المعقول، وهو ما تستخدمه أغلب الجهات.

واللافت أن HMAC نفسه متين نسبيًا أمام ضعف دالة التجزئة الأساسية، ولذلك لا يُعدّ HMAC-SHA1 مكسورًا فورًا. ومع ذلك لا سبب لاختياره في شيء جديد.

وطول المفتاح يجب ألا يقل عن طول ناتج دالة التجزئة، أي 32 بايتًا عشوائيًا مع SHA-256.

ويجب أن يكون المفتاح عشوائيًا. فالسر الذي تبتكره بنفسك هو أضعف حلقة في السلسلة كلها.

وهذه الأداة تحسب داخل متصفحك بالكامل، ولا يغادر المفتاح جهازك. ومع ذلك: لا تستخدم واجهة ويب لأسرار الإنتاج، بل بيئتك الخاصة.

الأسئلة الشائعة

لماذا أحتاج إلى HMAC؟

للتحقق من أن رسالة واردة — غالبًا من خدمة خارجية — صحيحة المصدر ولم تُعدَّل.

هل HMAC تشفير؟

لا. الرسالة تبقى مقروءة، وهو يضمن المصدر والسلامة فقط.

لماذا المقارنة ثابتة الزمن؟

لأن زمن المقارنة العادية يتيح تخمين التوقيع الصحيح تدريجيًا.

لماذا لا يتطابق توقيعي؟

غالبًا لأن المحتوى أُعيد تركيبه، أو لاختلاف الترميز بين ست عشري وBase64.

أي خوارزمية أختار؟

HMAC-SHA256 كخيار قياسي، ولا تستخدم MD5.

هل يُرسل مفتاحي؟

لا، الحساب يجري في المتصفح. ومع ذلك استخدم بيئتك الخاصة لأسرار الإنتاج.