hash_hmac

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_hmacGenera un valor de clave de hash utilizando el método HMAC

Descripción

hash_hmac(
    string $algo,
    string $data,
    #[\SensitiveParameter] string $key,
    bool $binary = false
): string

Parámetros

algo

Nombre del algoritmo de hash seleccionado (por ejemplo: "sha256"). Para una lista de los algoritmos soportados ver hash_hmac_algos().

Nota:

Las funciones de hash no criptográficas no están permitidas.

data

El mensaje que será hasheado.

key

Clave secreta compartida utilizada para generar la variación HMAC de la huella digital.

binary

Cuando es true, la salida será datos binarios sin tratar. Cuando es false, la salida será dígitos hexadecimales en minúscula.

Valores devueltos

Retorna un string que contiene la huella digital calculada en dígitos hexadecimales en minúscula a menos que binary esté fijado a true. En este caso, la representación binaria sin tratar de la huella digital es retornada.

Errores/Excepciones

Levanta una excepción ValueError si el argumento algo es desconocido o no es una función de hash criptográfica.

Historial de cambios

Versión Descripción
8.0.0 hash_hmac() ahora levanta una excepción ValueError si el algo es desconocido o no es una función de hash criptográfica ; anteriormente, false era retornado en su lugar.
7.2.0 El uso de funciones de hash no criptográficas (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) ha sido desactivado.

Ejemplos

Ejemplo #1 Ejemplo con hash_hmac()

<?php
echo hash_hmac('sha256', 'The quick brown fox jumped over the lazy dog.', 'secret');
?>

El resultado del ejemplo sería:

9c5c42422b03f0ee32949920649445e417b2c634050833c5165704b825c2a53b

Ver también

  • hash_hmac_algos() - Devuelve una lista de algoritmos de hash registrados adecuados para hash_hmac
  • hash_hmac_file() - Genera un valor de clave de hash utilizando el método HMAC y el contenido de un fichero dado
  • hash_equals() - Comparación de strings resistente a ataques temporales