PHP - Fonction Hash hmac file ()

Définition et utilisation

le hash_hmac_file() La fonction est utilisée pour générer une valeur de hachage clé pour le contenu de fichier donné à l'aide de la méthode HMAC.

HMAC signifie code d'authentification de message haché par clé ou code d'authentification de message basé sur hachage. Il utilise une fonction de hachage cryptographique comme md5, sha-256 et une clé secrète pour hacher le contenu du fichier donné.

Syntaxe

hash_hmac_file ( 
   string $algo , string $filename , string $key [, bool $raw_output = FALSE ] 
) 
: string

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 hash, certains importants sont md5, sha256, etc.

Pour obtenir la liste complète des algorithmes pris en charge, recherchez hash_hmac_algos ()

2

filename

Chemin du fichier pour obtenir le contenu du fichier.

3

key

Clé secrète pour générer une variante HMAC du résumé de message.

4

raw_output

Par défaut, la valeur est false et renvoie donc des valeurs hexadécimales minuscules. Si la valeur est vraie, elle renverra des données binaires brutes.

Valeurs de retour

le hash_hmac_file() La fonction retourne une chaîne de résumé de message calculé qui se présentera sous la forme d'hexits minuscules si raw_output est false, sinon elle retournera des données binaires brutes.

Version PHP

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

Exemple 1

Utilisation de hash_hmac_file () -

<?php
   file_put_contents('file2.txt', 'Welcome to Tutorialspoint');
   echo hash_hmac_file('md5', 'file2.txt', 'anysecretkey');
?>

Production

Cela produira le résultat suivant -

e519cec21ac0c04a92ff5b358931b49d

Exemple 2

Différence dans la sortie de hash_hmac_file () lorsque le contenu du fichier est modifié -

<?php
   file_put_contents('abc.txt', 'Hello'); 
   echo hash_hmac_file('sha256', 'abc.txt', 'mysecretkey'); 
   echo "<br/><br/>";
   file_put_contents('abc.txt', 'World');
   echo hash_hmac_file('md5', 'abc.txt', 'anysecretkey'); 
?>

Production

Cela produira le résultat suivant -

362a60a6ef4e35f9559304a6b5372b070c97ba33cb4a747503c9c58b5c85e6db2652fb7ccf4cff91df4f08add44b93b2

Exemple 3

Différence dans la sortie hash_file () et hash_hmac_file () -

<?php
   file_put_contents('filetest.txt', 'Welcome to Tutorialspoint');
   echo hash_file('sha256', 'filetest.txt');
   echo "<br/><br/>";
   file_put_contents('abc.txt', 'Welcome to Tutorialspoint'); 
   echo hash_hmac_file('sha256', 'abc.txt', 'mysecretkey'); 
?>

Production

Cela produira le résultat suivant -

a6baf12546b9a5cf6df9e22ae1ae310b8c56be2da2e9fd2c91c94314eb0e5a2e7f8a726d250c08400820b3a1818f5b650784990eee7f23e3f1946373f2dd6e96