Sintaxe:
String | False Password_hash (String $ Senha, String | Int | Null $ Algo [, Array $ Options = []])O primeiro argumento é obrigatório e é usado para assumir o valor da string que será hashed.
O segundo argumento é obrigatório e é usado para pegar o número inteiro ou string que se refere a um algoritmo, que será usado para criar o hash de senha. Atualmente, esta função suporta os seguintes algoritmos.
Password_default:
Ele usa o algoritmo BCRYPT para gerar o hash de senha.
Password_BCrypt:
Ele usa o algoritmo Crypt_blowfish para gerar o hash de senha.
Password_argon2i:
Ele usa o algoritmo de hash argon2i para gerar o hash de senha e pode ser usado se o PHP tiver sido compilado com o suporte do Argon2.
Password_argon2id:
Ele usa o algoritmo de hash argon2id para gerar o hash de senha e pode ser usado se o PHP tiver sido compilado com o suporte do argon2.
O terceiro argumento é opcional e é usado para definir uma matriz que contém as opções suportadas do algoritmo usado.
As seguintes opções são suportadas pelo algoritmo Password_BCrypt.
sal:
Esta opção está depreciada agora. O valor do sal que é gerado por padrão é melhor usar.
custo:
É usado para definir o custo do algoritmo que deve ser usado. O valor padrão é 10.
As seguintes opções são suportadas pelos algoritmos Password_argon2i e Password_argon2id.
Memory_Cost:
É usado para definir a memória máxima em KB que pode ser usada para gerar o hash de senha usando o hash argon2.
time_cost:
É usado para definir a quantidade máxima de tempo que pode ser usada para gerar o hash de senha usando o hash argon2.
tópicos:
É usado para definir o número de threads para gerar o hash de senha usando o hash argon2.
A função retorna a senha hashed no sucesso ou false na falha.
Password_hash () Exemplos de função
Os usos da função Password_hash () para criar senhas de hash foram na próxima parte do tutorial.
Exemplo 1: Crie uma senha de hash usando o algoritmo de hash padrão
Crie um arquivo PHP com o seguinte script que gerará um valor de hash de uma senha usando a função Password_hash (), e o algoritmo de hash padrão foi usado aqui. As seqüências de senha original e hashed serão impressas como a saída do script.
// Defina o valor da senhaSaída:
A saída a seguir aparecerá após a execução do script acima.
Exemplo 2: Crie senha de hash usando o valor de custo e o algoritmo Password_BCrypt
Crie um arquivo php com o seguinte script que gerará um valor de hash de uma senha usando a função Password_hash (). O algoritmo Password_BCrypt e o valor de custo foram usados na função Password_hash () para gerar a senha de hashed. A sequência de senha original e hashed será impressa como a saída do script.
// Defina o valor da senhaSaída:
A saída a seguir aparecerá após a execução do script acima.
Exemplo 3: Crie uma senha de hash usando o algoritmo Passway_argon2i
Crie um arquivo PHP com o seguinte script que gerará um valor de hash de uma senha usando a função Password_hash (). O algoritmo Password_argon2i foi usado na função Password_hash () para gerar a senha de hashed. As seqüências de senha original e hashed serão impressas como a saída do script.
// Defina o valor da senhaSaída:
A saída a seguir aparecerá após a execução do script acima.
Exemplo-4: Usando a função Password_hash () com Password_verify ()
Crie um arquivo php com o seguinte script para verificar a senha de hash usando a função Passway_Verify () após gerar a senha de hash de uma string dados usando a função Password_hash (). A senha será retirada do parâmetro URL e verificou se a senha é válida usando o valor da senha e os valores de senha com hash nos argumentos da função senha_verify (). Se essa função retornará true, a senha será válida; Caso contrário, a senha é inválida.
// Defina o valor da senhaSaída:
Depois de executar o script acima sem o parâmetro URL, a seguinte saída será exibida.
http: // localhost/php/pass4.php
A saída a seguir aparecerá após a execução do script acima com o valor do parâmetro URL, 'SecretPassword ', e a senha de hash foi gerada para esse valor no script. Então, a senha é válida.
http: // localhost/php/pass4.php?senha = SecretPassword
A saída a seguir aparecerá após a execução do script acima com o valor do parâmetro URL, 'segredo' inválido.
http: // localhost/php/pass4.php?senha = segredo
Conclusão
Diferentes maneiras de criar uma senha de hash usando a função Password_hash () foram mostradas nos exemplos deste tutorial para ajudar os usuários do PHP a aplicar essa função corretamente em seu script.