1# HMAC Overview and Algorithm Specifications 2 3A message authentication code (MAC) is used for verifying the authenticity and integrity of information transmitted or stored on unreliable media. A hash-based message authentication code (HMAC) is a MAC involving a cryptographic has function and a secret cryptographic key. The HMAC can be used with any cryptographic hash function, such as MD5 and SHA-1. The universal keystore supports the use of HMAC with mainstream message digest (MD) algorithms. 4 5 6## Supported Algorithms 7 8The following table lists the HMAC specifications supported by the system. 9<!--Del--> 10The key management service specifications include mandatory specifications and optional specifications. Mandatory specifications are algorithm specifications that must be supported. Optional specifications can be used based on actual situation. Before using the optional specifications, refer to the documents provided by the vendor to ensure that the specifications are supported. 11 12> **NOTE**<br>You are advised to use mandatory specifications in your development for compatibility purposes. 13 14<!--DelEnd--> 15| MD Algorithm| Supported Key Length (Bit)| API Version| <!--DelCol4-->Mandatory| 16| -------- | -------- | -------- | -------- | 17| <!--DelRow-->MD5, SHA-1, SHA-224| 8 to 1024 | 8+ | No| 18| SHA-256 | 192 to 1024 | 8+ | Yes| 19| SHA-384, SHA-512| 256 to 1024 | 8+ | Yes| 20| SM3 | 8 to 4096 | 8+ | Yes| 21