Documentación offline PHP master

hash_hmac

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

hash_hmac

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

Descripción#

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

## Parámetros

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

> [!NOTE]
> 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 y se emitía un mensaje `E_WARNING`. |
| 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 con `hash_hmac`

```php

El ejemplo anterior mostrará:

9c5c42422b03f0ee32949920649445e417b2c634050833c5165704b825c2a53b

Véase también#

hash_hmac_algos, hash_hmac_file, hash_equals