رمز مصادقة الرسالة المُجزّأ
يُكتب أيضاً: hash_hmac, Hash-based Message Authentication Code
توقيع رقمي يُحسب من البيانات ومفتاح سري بدالة تجزئة مثل SHA-256، فيستحيل تخمينه أو تزويره دون المفتاح، ويناسب رموز التذاكر والروابط الخاصة التي يجب ألا تُخمَّن.
HMAC طريقة للتأكد من أن رسالة ما صادرة من طرف يعرف مفتاحًا سريًا وأنها لم تُعدَّل في الطريق. يُحسب توقيع قصير من الرسالة والمفتاح معًا بدالة تجزئة مثل SHA-256، ويُرسل مع الرسالة.
المستقبل يعيد حساب التوقيع بالمفتاح نفسه ويقارن. إن تطابق التوقيعان فالرسالة سليمة وموثوقة، وأي تغيير ولو في حرف واحد ينتج توقيعًا مختلفًا تمامًا. والمفتاح نفسه لا يُرسل أبدًا.
تقابله في الويب هوك القادم من بوابات الدفع، وفي روابط إلغاء الاشتراك والتتبع داخل الرسائل البريدية. في PHP استخدم hash_hmac() للحساب وhash_equals() للمقارنة، فالمقارنة العادية تسرّب معلومات عبر فروق التوقيت.
