hash_init

Initialize an incremental hashing context

Description

resource hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] )

Parameters

algo

Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..). For a list of supported algorithms see hash_algos.

options

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 options, a shared secret key to be used with the HMAC hashing method must be supplied in this parameter.

Return Values

Returns a Hashing Context resource for use with hash_update, hash_update_stream, hash_update_file, and hash_final.

Changelog

Version Description
7.2.0 Usage of non-cryptographic hash functions (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) with HASH_HMAC was disabled.

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
  • hash_algos
  • hash_file
  • hash_hmac
  • hash_hmac_file