aka Hash-based message authentication code o keyed-hash message authentication code
En Criptografia un keyed-hash message authentication code (HMAC) és un forma específica de calcular un Message authentication code (MAC) que utilitza un funció criptogràfica de HASH en combinació amb una clau criptogràfica secreta o simètrica ( secret cryptographic key), típicament un password.
Com amb qualsevol MAC es utilitzat per de forma simultània:
Quasevol funció criptogràfica de HASH com MD5 o SHA-1 poden ser utilitzades per a calcular un HMAC. El algoritme resultant és anomenat:
HMAC-MD5: si utilitza MD5 HMAC-SHA1: : si utilitza SHA1 etc...
La fortaleza criptogràfica del sistema HMAC depèn de la fortaleza criptogràfica de la funció de HASH, la mida del hash output, i la mida i qualitat de la clau secreta.