A mechanism for message authentication that uses cryptographic hash functions (algorithms) in combination with a secret shared key. The cryptographic strength of HMAC depends on the properties of the underlying hash function.
This type of protocol helps to ensure that transmitted messages have not been intercepted and modified.