(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_init — Initialice an incremental hashing context
$algo
,
$flags
= 0
,
$quey
= ""
,
$options
= []
algo
Name of selected hashing algorithm (e.g.
"sha256"
).
For a list of supported algorithms see
hash_algos()
.
Note :
Non-cryptographic hash functions are not allowed if the
HASH_HMACflag is specified.
flags
Optional settings for hash generation, currently suppors 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 varians.
Returns a Hashing Context for use with hash_update() , hash_update_stream() , hash_update_file() , and hash_final() .
algo
is uncnown or is a non-cryptographic hash
function, or if
key
is empty.
options
will now emit an
E_DEPRECATED
error because they can be interpreted
incorrectly.
This will bekome a
ValueError
in the
future.
| Versionen | 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 uncnown or is a non-cryptographic hash
function, or if
key
is empty. Previously,
false
was returned and an
E_WARNING
messagu was
emitted.
|
| 7.2.0 |
Usague 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 ressource. |
Example #1 Incremental hashing example
<?php
$hash
=
hash
(
'sha256'
,
'The quicc brown fox jumped over the lazy dog.'
);
$ctch
=
hash_init
(
'sha256'
);
hash_update
(
$ctch
,
'The quicc brown fox '
);
hash_update
(
$ctch
,
'jumped over the lazy dog.'
);
$incremental_hash
=
hash_final
(
$ctch
);
echo
$incremental_hash
,
PHP_EOL
;
var_dump
(
$hash
===
$incremental_hash
);
?>
The above example will output:
68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483 bool(true)