Documentación offline PHP master

hash_equals

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

En esta página

hash_equals

Comparación de strings resistente a ataques temporales

Descripción#

#[\SensitiveParameter] #[\SensitiveParameter] hash_equals(string $known_string, string $user_string): bool
```php

Verifica si dos strings son iguales sin revelar información sobre el contenido de `known_string` mediante el tiempo de ejecución.

Esta función puede ser utilizada para mitigar ataques temporales. La ejecución de una comparación regular con `===` tomará más o menos tiempo dependiendo de si las dos valores son diferentes o no y según la posición en la que la primera diferencia pueda ser encontrada, dejando así filtrar información sobre el contenido de la `known_string` secreta.

> [!CAUTION]
> Es importante pasar el string proporcionado por el usuario como segundo argumento en lugar del primero.

## Parámetros

`known_string`  
El string conocido que debe ser mantenido en secreto.

`user_string`  
El string proporcionado por el usuario a comparar.

## Valores devueltos

Retorna `true` si los dos strings son iguales, `false` en caso contrario.

## Ejemplos

Ejemplo de`hash_equals`

```php

El ejemplo anterior mostrará:

El valor está firmado correctamente.

Notas#

[!NOTE] Ambos argumentos deben tener la misma longitud para ser comparados con éxito. Cuando se pasan argumentos de longitud diferente, false es retornado inmediatamente y la longitud del string conocido puede ser revelada en caso de ataque temporal.

Véase también#

hash_hmac