(No version information available, might only be in Git)
openssl_password_hash — Crea un hash de contraseña usando la implementación de Argon2 de OpenSSL
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).
algo
El algoritmo de hash de contraseña. Valores soportados:
"argon2id" y "argon2i".
passwordLa contraseña del usuario.
optionsUn 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
Devuelve el hash de la contraseña como una string.
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.
| Versión | Descripción |
|---|---|
| 8.4.0 | Se ha añadido la función. |
Ejemplo #1 Ejemplo con openssl_password_hash()
<?php
$hash = openssl_password_hash('argon2id', 'my-secret-password');
echo $hash;
?>Resultado del ejemplo anterior es similar a:
$argon2id$v=19$m=65536,t=4,p=1$c29tZXNhbHR2YWx1ZQ$hashvalue...
Ejemplo #2 openssl_password_hash() con opciones personalizadas
<?php
$hash = openssl_password_hash('argon2id', 'my-secret-password', [
'memory_cost' => 65536,
'time_cost' => 4,
'threads' => 1,
]);
?>