hash_init Initialize an incremental hashing context &reftitle.description; HashContexthash_init stringalgo intflags0 #[\SensitiveParameter]stringkey"" arrayoptions[] &reftitle.parameters; algo Name of selected hashing algorithm (e.g. "sha256"). For a list of supported algorithms see hash_algos. Non-cryptographic hash functions are not allowed if the HASH_HMAC flag is specified. 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. &reftitle.returnvalues; Returns a Hashing Context for use with hash_update, hash_update_stream, hash_update_file, and hash_final. &reftitle.errors; Throws a ValueError exception if algo is unknown or is a non-cryptographic hash function, or if key is empty. Passing configurations options of the wrong type in options will now emit an E_DEPRECATED error because they can be interpreted incorrectly. This will become a ValueError in the future. &reftitle.changelog; &Version; &Description; 8.4.0 Passing options of a wrong type is now deprecated. 8.1.0 The options parameter has been added. 8.0.0 Now throws an ValueError exception if the algo is unknown or is a non-cryptographic hash function, or if key is empty. Previously, &false; was returned and an E_WARNING message was emitted. 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. &reftitle.examples; Incremental hashing example ]]> &example.outputs; &reftitle.seealso; hash_algos hash_update hash_update_file hash_update_stream hash_final