HMAC (Hash-based Message Authentication Code) — это механизм для проверки целостности и аутентификации сообщения с использованием криптографической хэш-функции и секретного ключа.
Принцип работы:
Используется для:
Пример генерации HMAC (псевдокод):
plaintext
где:
H — хэш-функция (например, SHA-256).key — секретный ключ.message — сообщение.|| — операция конкатенации.ipad — внутренняя фиксированная константа.opad — внешняя фиксированная константа.XOR — побитовая операция исключающее ИЛИ.HMAC устойчив к атакам удлинением, в отличие от простого использования Hash(key || message) или Hash(message || key).