(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_init — Initialise un contexte de hachage incrémental
$algo,$flags = 0,$key = "",$options = []
algo
       Nom de l'algorithme de hachage sélectionné (par exemple : "sha256").
       Pour une liste des algorithmes supportés voir hash_algos().
       
Note:
Les fonctions de hachages non cryptographiques ne sont pas autorisées si le drapeau
HASH_HMACest spécifié.
flags
       Configurations optionnelles pour la génération du hachage, supporte
       actuellement seulement une option :
       HASH_HMAC. Lorsque cette option est spécifiée, le paramètre
       key doit être spécifié.
      
key
       Lorsque HASH_HMAC est spécifiée pour flags,
       une clé secrète partagée qui sera utilisée avec la méthode de hachage
       HMAC doit être fournie dans ce paramètre.
      
options
       Un tableau d'options pour les algorithmes dives de hachage.
       Actuellement, seul le paramètre "seed" est
       supporté pour les variantes MurmurHash.
      
Retourne le contexte de hachage HashContext pour utilisation avec hash_update(), hash_update_stream(), hash_update_file() et hash_final().
algo est inconnu, s'il s'agit d'une fonction de
     hachage non cryptographique, ou si key est vide.
    
   options émettra désormais une erreur
     E_DEPRECATED, car elles peuvent être mal interprétées.
     Cela entraînera une exception ValueError à
     l'avenir.
    
   
| Version | Description | ||
|---|---|---|---|
| 8.4.0 | Passer des options d'un type incorrect est désormais déconseillé. | ||
| 8.1.0 | Le paramètre optionsa été ajouté. | ||
| 7.2.0 | L'usage de fonction de hachage non-cryptographique (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) avec HASH_HMACa été désactivé. | ||
| 7.2.0 | Retourne une HashContext au lieu d'une ressource. | 8.0.0 | Lève une exception ValueError dorénavant si le
        paramètre algoest inconnu ou n'est pas
        une fonction de hachage cryptographique, ou si le paramètrekeyest vide.
        Précédemment,falseétait retourné et un messageE_WARNINGétait emis. | 
Exemple #1 Exemple de hachage incrémental
<?php
$hash = hash('sha256', 'The quick brown fox jumped over the lazy dog.');
$ctx = hash_init('sha256');
hash_update($ctx, 'The quick brown fox ');
hash_update($ctx, 'jumped over the lazy dog.');
$incremental_hash = hash_final($ctx);
echo $incremental_hash, PHP_EOL;
var_dump($hash === $incremental_hash);
?>L'exemple ci-dessus va afficher :
68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483 bool(true)
