bcrypt
password_hash / password_verify
bcrypt password hashing and verification.
Como usar
Visão geral
Ferramenta para gerar hashes com bcrypt ou verificar strings de hash.
Um caso de uso comum do hash é "armazenar senhas".
Como princípio fundamental, não é possível reverter um hash para obter os dados originais (unidirecional).
Não é possível obter a senha original a partir do hash bcrypt dela.
Por isso, as senhas não são armazenadas diretamente — em vez disso, o hash é geralmente armazenado.
A mesma senha sempre gerará o mesmo hash.
Isso significa que você pode verificar uma string comparando-a com um hash conhecido.
(Por exemplo, para verificar se um hash foi gerado a partir de uma senha específica)
Geração de hash (password_hash)
O hash bcrypt é realizado com um código como o seguinte.$hash = password_hash('string_to_hash', PASSWORD_BCRYPT, [
'cost' => 'cost',
]);
As strings de hash geradas pelo bcrypt incluem um salt (string aleatória), portanto, uma string diferente é produzida a cada vez.
$2y$10$Z0kGQ04hCto9dnMu.GyzWOWNQmoKyeF5PXH.zsrf/I.yNJRcbdN86
O custo padrão da função password_hash é 10.
Embora password_hash aceite um intervalo de 4–31, esta ferramenta limita a 4–15 para evitar sobrecarga excessiva do servidor.
(Valores mais altos podem demorar muito para processar.)
Verificação de hash (password_verify)
As strings de hash bcrypt seguem um formato específico que inclui o salt e o número de iterações, permitindo verificar se um hash foi gerado a partir de uma string específica.
A verificação de hash bcrypt é realizada com um código como o seguinte.$result = password_verify('original_string', 'hash_string_to_verify');