PHP - Fonction Hash init ()

Définition et utilisation

le hash_init() function initialise un hashcontext incrémental qui peut être utilisé avec d'autres fonctions de hachage comme hash_update (), hash_final () etc. Il prend l'entrée comme un algorithme de hachage et la sortie comme un contexte de hachage.

Un hashContext est généré en fonction du hash_algo utilisé dans hash_init (). Vous pouvez mettre à jour vos données ou votre message avec le hashcontext en utilisant la fonction hash_update () et obtenir le hachage final en utilisant hash_final ().

Syntaxe

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

Paramètres

Sr. Non Paramètre et description
1

algo

Nom de l'algorithme de hachage. Il existe une grande liste d'algorithmes disponibles avec hachage, certains importants sont md5, sha256, etc.

Pour obtenir la liste complète des algorithmes pris en charge, utilisez la fonction de hachage hash_algos ()

2

options

Il n'y a qu'une seule option prise en charge et c'est HASH_HMAC. Si vous utilisez des options, la clé est également obligatoire.

3

key

Si HASH_HMAC est utilisé en option, la clé doit également être donnée et ce sera une clé secrète partagée qui sera utilisée avec la méthode de hachage HMAC.

Valeurs de retour

La fonction PHP hash_init () renvoie un contexte de hachage. Le contexte de hachage peut être utilisé avec d'autres fonctions de hachage comme hash_update (), hash_update_stream (), hash_update_file () et hash_final ().

Version PHP

Cette fonction fonctionnera à partir de la version PHP supérieure à 5.1.2.

Exemple 1

Pour générer un contexte de hachage -

<?php
   $hash_context = hash_init('md5');
   hash_update($hash_context, 'Testing php');
   hash_update($hash_context, ' hash functions.');
   echo hash_final($hash_context);
?>

Production

Cela produira le résultat suivant -

e4310012c89a4b8479fd83694a2a3a31

Exemple 2

Utiliser hash_init () avec hash_copy () -

<?php
   $hash_context = hash_init("md5");
   hash_update($hash_context, "Welcome To Tutorialspoint");
   $hash_copy= hash_copy($hash_context);
   echo hash_final($hash_context);
   echo "<br/>";
   hash_update($hash_copy,  "Welcome To Tutorialspoint");
   echo hash_final($hash_copy);
?>

Cela produira le résultat suivant -

6211420491a571f89f970683221d4480<br/>d0b25da996bf035057aba79082c53b30