(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_init — Initialise un contexte de hachage incrémental
algoNom de l'algorithme de hachage sélectionné (c'est-à-dire "md5", "sha256", "haval160,4", etc.). Pour une liste des algorithmes supportés, reportez-vous à la documentation sur la fonction hash_algos().
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.
      
optionsUn 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().
   Lève une exception ValueError si le
   paramètre algo est inconnu ou n'est pas
   une fonction de hachage cryptographique, ou si le paramètre
   key est vide.
  
| Version | Description | ||
|---|---|---|---|
| 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
$ctx = hash_init('md5');
hash_update($ctx, 'Le rapide goupil brun ');
hash_update($ctx, 'sauta par dessus le chien paresseux.');
echo hash_final($ctx);
?>
L'exemple ci-dessus va afficher :
2dfe052a8caca3db869ede6ae544cd5d