Resumo : neste tutorial, você aprenderá como usar a password_hash()
função PHP para criar um hash de senha.
Introdução à função PHP password_hash()
A função password_hash() permite criar um hash de senha usando um algoritmo de hash unidirecional seguro.
Aqui está a sintaxe da password_hash()
função:
password_hash(string $password, string|int|null $algo, array $options = []): string
Linguagem de código: PHP ( php )
A password_hash()
função possui os seguintes parâmetros:
$password
é a senha de texto simples a ser hash.$algo
é uma constante que especifica o algoritmo de hash.$options
é um array associativo de opções de cada algoritmo. Se você omitir$options
, a função gerará um salt aleatório e um custo padrão para hash.
A password_hash()
função retorna a senha com hash.
algoritmos de hash
A password_hash()
função oferece suporte aos seguintes algoritmos de hash:
Constante | Algoritmo de hash |
---|---|
PASSWORD_DEFAULT |
bcrypt |
PASSWORD_BCRYPT |
CRYPT_BLOWFISH |
PASSWORD_ARGON2I |
Argônio2i |
PASSWORD_ARGON2ID |
Argônio2id |
Exemplo de função PHP password_hash()
O exemplo a seguir mostra como gerar a senha com hash a partir da senha 'Password1'
:
<?php
$password = 'Password1';
echo password_hash($password, PASSWORD_DEFAULT);
Linguagem de código: PHP ( php )
Saída:
$2y$10$hnQY9vdyZUcwzg2CO7ykf.a4iI5ij4Pi5ZwySwplFJM7AKUNUVssO
Linguagem de código: texto simples ( texto simples )
Este exemplo usa o PASSWORD_DEFAULT
algoritmo, que instrui a password_hash()
função a usar o algoritmo de hash bcrypt.
Na prática, você usará a password_hash()
função para fazer hash de uma senha antes de armazená-la no banco de dados. E você usará a password_verify()
função para combinar a senha de texto simples fornecida pelos usuários com a senha com hash armazenada no banco de dados.
Além de fazer hash de uma senha de texto simples, você pode usar o password_hash()
hash para fazer hash seguro de qualquer token que deseja armazenar no banco de dados.
Resumo
- Use a função PHP
password_hash()
para criar uma senha hash usando um algoritmo de hash unidirecional seguro.