HMAC: захист повідомлень секретним ключем
Коротко: HMAC — контрольне значення з повідомлення та секретного ключа; воно доводить, що повідомлення походить від власника ключа й не змінене дорогою.
Докладніше: Звичайний хеш (наприклад, SHA-256) може обчислити будь-хто: зловмисник змінює повідомлення й перераховує хеш. HMAC (hash-based message authentication code) містить секретний ключ; без нього ніхто не може отримати дійсне значення.
Подробиці
Як це працює
HMAC(ключ, повідомлення) = Hash( (ключ ⊕ opad) ‖ Hash( (ключ ⊕ ipad) ‖ повідомлення ) )
Відправник і одержувач знають один і той самий секретний ключ; одержувач перераховує HMAC і порівнює.
Див. також: хешування, SHA-256, вебхуки, JWT, цифровий підпис