hash_equals
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,
falsees retornado inmediatamente y la longitud del string conocido puede ser revelada en caso de ataque temporal.
Véase también#
hash_hmac