(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_init — Initialize an incremental hashing context
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, the key
must be specified.
key
When HASH_HMAC
is specified for flags
,
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.
Returns a Hashing Context for use with hash_update(), hash_update_stream(), hash_update_file(), and hash_final().
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. |
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