Атака удлинением сообщения
Атакующий может дописать данные к подписанному сообщению и вычислить валидную подпись, не зная ключа.
Хеши Меркла — Дамгора, такие как MD5, SHA-1 и SHA-256, выдают в качестве дайджеста своё полное внутреннее состояние. Если подписывать сообщение как hash(key || message), любой, кто видит дайджест, может продолжить вычисление с этого состояния и получить валидный хеш от сообщения, его дополнения и продолжения. Именно от этого пострадал API Flickr в 2009 году. HMAC избегает проблемы, хешируя ключ в два отдельных прохода, что ломает структуру, делающую расширение возможным. Хеш — не MAC, каким бы хорошим хешем он ни был.