HMAC — это так называемая имитовставка.
То есть нечто среднее между хэш-функцией и электронной подписью.
Тот, кто изменил сообщение и не знает ключа, НЕ МОЖЕТ подделать имитовставку — в отличие от хэш-функции.
Но ключ подписи и проверки ОДИН И ТОТ ЖЕ — в отличие от электронной подписи.
В современных веб-службах имитовставка используется для одного из вариантов аутентификации: сообщения закрыты прочным транспортным протоколом, но нет возможности проверить, тот ли человек на другом конце провода. Для этого подписываем всё тело запроса, и сервер, владеющий тем же ключом, сможет убедиться, что запрос сформирован нужным человеком.