Documentación offline PHP master

password_needs_rehash

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

En esta página

password_needs_rehash

Verifica que el hash proporcionado cumple con el algoritmo y las opciones especificadas

Descripción#

password_needs_rehash(string $hash, string $algo, [array $options]): bool
```php

Esta función verifica que el hash proporcionado corresponde al algoritmo y a las opciones especificadas. Si no es así, el hash debería ser re-generado.

## Parámetros

`hash`  
Un hash creado por la función `password_hash`.

`algo`  
Una [constante del algoritmo de contraseña](#password.constants) que representa el algoritmo a utilizar durante el hasheo de la contraseña.

`options`  
Un array asociativo que contiene las opciones. Ver también [las constantes del algoritmo de contraseña](#password.constants) para la documentación sobre las opciones soportadas para cada algoritmo.

## Valores devueltos

Devuelve `true` si el hash debe ser re-generado para corresponder a los parámetros `algo` y `options` proporcionados, o `false` en caso contrario.

## Historial de cambios

| Versión | Descripción |
|----|----|
| 7.4.0 | El parámetro `algo` ahora espera una `string`, pero sigue aceptando un `int` para mantener la compatibilidad con versiones anteriores. |

## Ejemplos

Uso de `password_needs_rehash`
13]; // Primero se verifica que la contraseña coincide con el hash almacenado if (password_verify($password, $hash)) { // Verifica si el algoritmo o las opciones han cambiado if (password_needs_rehash($hash, $algorithm, $options)) { if (password_needs_rehash($hash, PASSWORD_DEFAULT, $options)) { // Se crea un nuevo hash para actualizar el anterior $newHash = password_hash($password, $algorithm, $options); // Actualizar la entrada del usuario con $newHash } // Ejecutar el inicio de sesión del usuario } ?>

```php