PHP - Función Hash hmac file ()

Definición y uso

los hash_hmac_file() La función se usa para generar un valor hash con clave para el contenido del archivo dado usando el método HMAC.

HMAC significa código de autenticación de mensajes con clave hash o código de autenticación de mensajes basado en hash. Hace uso de la función hash criptográfica como md5, sha-256 y una clave secreta para hacer hash del contenido del archivo.

Sintaxis

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

Parámetros

No Señor Descripción de parámetros
1

algo

Nombre del algoritmo hash. Hay una gran lista de algoritmos disponibles con hash, algunos importantes son md5, sha256, etc.

Para obtener la lista completa de algoritmos compatibles, verifique hash_hmac_algos ()

2

filename

La ruta del archivo para obtener el contenido del archivo.

3

key

Clave secreta para generar la variante HMAC del resumen del mensaje.

4

raw_output

De forma predeterminada, el valor es falso y, por lo tanto, devuelve valores hexadecimales en minúsculas. Si el valor es verdadero, devolverá datos binarios sin procesar.

Valores devueltos

los hash_hmac_file() La función devuelve una cadena de resumen de mensaje calculado que estará en forma de hexes en minúscula si raw_output es falso; de lo contrario, devolverá datos binarios sin procesar.

Versión PHP

Esta función funcionará desde la versión de PHP superior a 5.1.2.

Ejemplo 1

Usando hash_hmac_file () -

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

Salida

Esto producirá el siguiente resultado:

e519cec21ac0c04a92ff5b358931b49d

Ejemplo 2

Diferencia en la salida hash_hmac_file () cuando se cambia el contenido del archivo -

<?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'); 
?>

Salida

Esto producirá el siguiente resultado:

362a60a6ef4e35f9559304a6b5372b070c97ba33cb4a747503c9c58b5c85e6db2652fb7ccf4cff91df4f08add44b93b2

Ejemplo 3

Diferencia en la salida hash_file () y 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'); 
?>

Salida

Esto producirá el siguiente resultado:

a6baf12546b9a5cf6df9e22ae1ae310b8c56be2da2e9fd2c91c94314eb0e5a2e7f8a726d250c08400820b3a1818f5b650784990eee7f23e3f1946373f2dd6e96