PHP - Función Hash hmac ()

Definición y uso

los hash_hmac() La función se utiliza para generar un valor hash con clave utilizando 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 devolver el hash de resumen del mensaje de los datos dados.

Sintaxis

hash_hmac ( string $algo , string $data , 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, compruebe hash_hmac_algos ()

2

data

Los datos que desea hash.

3

key

Clave secreta para generar vaiant 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() La función devuelve una cadena que contiene un resumen de mensaje calculado que estará en forma de hexágonos en minúsculas 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 () -

<?php
   echo hash_hmac('md5', 'Welcome to Tutorialspoint', 'any_secretkey');
?>

Salida

Esto producirá el siguiente resultado:

3e89ca31da24cb046c9d11706be688c1

Ejemplo 2

Usando hash_hmac () con el algoritmo ripemd128 -

<?php
   echo hash_hmac('ripemd128', 'Welcome to Tutorialspoint', 'any_secretkey');
?>

Salida

Esto producirá el siguiente resultado:

c9b5c68b72808f31b4524fbd46bf87d0

Ejemplo 3

Para generar hash_hmac con raw_output como verdadero:

<?php
   echo hash_hmac('ripemd128', 'Welcome to Tutorialspoint', 'any_secretkey', true);
?>

Salida

Esto producirá el siguiente resultado:

ɵƋr��1�RO�F���