hash_init
(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_init — Initialize an incremental hashing context
Description
Parameters
-
algo
-
Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..). For a list of supported algorithms see hash_algos().
-
flags
-
Optional settings for hash generation, currently supports only one option:
HASH_HMAC
. When specified, thekey
must be specified. -
key
-
When
HASH_HMAC
is specified forflags
, a shared secret key to be used with the HMAC hashing method must be supplied in this parameter. -
options
-
An array of options for the various hashing algorithms. Currently, only the "seed" parameter is supported by the MurmurHash variants.
Return Values
Returns a Hashing Context for use with hash_update(), hash_update_stream(), hash_update_file(), and hash_final().
Changelog
Version | Description |
---|---|
8.1.0 | The options parameter has been added. |
7.2.0 | Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) with HASH_HMAC was disabled. |
7.2.0 | Return HashContext instead of resource. |
Examples
Example #1 Incremental hashing example
<?php
$ctx = hash_init('md5');
hash_update($ctx, 'The quick brown fox ');
hash_update($ctx, 'jumped over the lazy dog.');
echo hash_final($ctx);
?>
The above example will output:
5c6ffbdd40d9556b73a21e63c3e0e904
See Also
- hash() - Generate a hash value (message digest)
- hash_algos() - Return a list of registered hashing algorithms
- hash_file() - Generate a hash value using the contents of a given file
- hash_hmac() - Generate a keyed hash value using the HMAC method
- hash_hmac_file() - Generate a keyed hash value using the HMAC method and the contents of a given file