(PHP 8 >= 8.4.0)
openssl_password_hash — Cria um hash de senha usando a implementação Argon2 do OpenSSL
Cria um hash de senha usando a implementação Argon2 do OpenSSL. Esta é uma alternativa à função password_hash() que usa o OpenSSL como backend, que pode oferecer aceleração de hardware em algumas plataformas.
Esta função só está disponível quando o PHP é compilado com suporte a
OpenSSL que inclui Argon2 (HAVE_OPENSSL_ARGON2).
algo
O algoritmo de hash de senha. Valores suportados:
"argon2id" e "argon2i".
passwordA senha do usuário.
optionsUm array associativo de opções. Chaves suportadas:
memory_cost - Memória máxima (em KiB) que pode ser
usada para computar o hash
time_cost - Tempo máximo que pode ser
usado para computar o hash
threads - Número de threads a ser
usado para computar o hash
Retorna o hash de senha como uma string.
Lança um ValueError se algo
não for um dos valores suportados
("argon2i" ou "argon2id").
Lança um Error se a operação de hash falhar por um motivo desconhecido.
| Versão | Descrição |
|---|---|
| 8.4.0 | Função adicionada. |
Exemplo #1 Exemplo de openssl_password_hash()
<?php
$hash = openssl_password_hash('argon2id', 'my-secret-password');
echo $hash;
?>O exemplo acima produzirá algo semelhante a:
$argon2id$v=19$m=65536,t=4,p=1$c29tZXNhbHR2YWx1ZQ$valordehash...
Exemplo #2 openssl_password_hash() com opções personalizadas
<?php
$hash = openssl_password_hash('argon2id', 'my-secret-password', [
'memory_cost' => 65536,
'time_cost' => 4,
'threads' => 1,
]);
?>