openssl_password_hash
En esta página
openssl_password_hash
Crea un hash de contraseña usando la implementación de Argon2 de OpenSSL
Descripción#
openssl_password_hash(string $algo, string $password, [array $options]): string
```php
Crea un hash de contraseña usando la implementación de Argon2 de OpenSSL. Es una alternativa a `password_hash` que utiliza OpenSSL como backend, lo que puede ofrecer aceleración por hardware en algunas plataformas.
Esta función solo está disponible cuando PHP se compila con soporte de OpenSSL que incluye Argon2 (`HAVE_OPENSSL_ARGON2`).
## Parámetros
`algo`
El algoritmo de hash de contraseña. Valores soportados: `"argon2id"` y `"argon2i"`.
`password`
La contraseña del usuario.
`options`
Un `array` asociativo de opciones. Claves soportadas: `memory_cost` - Memoria máxima (en KiB) que puede utilizarse para calcular el hash, `time_cost` - Tiempo máximo que puede tomar calcular el hash, `threads` - Número de hilos a utilizar para calcular el hash
## Valores devueltos
Devuelve el hash de la contraseña como una `string`.
## Errores/Excepciones
Lanza un `ValueError` si `algo` no es uno de los valores soportados (`"argon2i"` o `"argon2id"`).
Lanza un `Error` si la operación de hashing falla por una razón desconocida.
## Historial de cambios
| Versión | Descripción |
|---------|---------------------------|
| 8.4.0 | Se ha añadido la función. |
## Ejemplos
Ejemplo con `openssl_password_hash`
Resultado del ejemplo anterior es similar a:
$argon2id$v=19$m=65536,t=4,p=1$c29tZXNhbHR2YWx1ZQ$hashvalue...
`openssl_password_hash` con opciones personalizadas
```php
Véase también#
openssl_password_verify, password_hash