HMAC is a message authentication code (MAC) that uses a cryptographic hash function and secret key to authenticate messages and verify their integrity. It was standardized in 1995 and is commonly used to provide security for browser communications, network protocols, REST APIs, wireless technologies, and more. HMAC works by hashing the key concatenated with the hashed key and message. It provides authentication and integrity but not confidentiality.