hash_hmac
(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_hmac — Generate a keyed hash value using the HMAC method
Description
hash_hmac( string $algo, string $data, string $key, bool $binary = false ): string
Parameters
-
algo
-
Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..) See hash_hmac_algos() for a list of supported algorithms.
-
data
-
Message to be hashed.
-
key
-
Shared secret key used for generating the HMAC variant of the message digest.
-
binary
-
When set to
true
, outputs raw binary data.false
outputs lowercase hexits.
Return Values
Returns a string containing the calculated message digest as lowercase hexits unless binary
is set to true in which case the raw binary representation of the message digest is returned.
Changelog
Version | Description |
---|---|
8.0.0 | hash_hmac() now throws a ValueError exception if algo is unknown or is a non-cryptographic hash function; previously, false was returned instead. |
7.2.0 | Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) was disabled. |
Examples
Example #1 hash_hmac() example
<?php echo hash_hmac('ripemd160', 'The quick brown fox jumped over the lazy dog.', 'secret'); ?>
The above example will output:
b8e7ae12510bdfb1812e463a7f086122cf37e4f7
See Also
- hash() - Generate a hash value (message digest)
- hash_hmac_algos() - Return a list of registered hashing algorithms suitable for hash_hmac
- hash_init() - Initialize an incremental hashing context
- hash_hmac_file() - Generate a keyed hash value using the HMAC method and the contents of a given file
© 1997–2021 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.hash-hmac.php