PHP senha_hash

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 = []): stringLinguagem 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.a4iI5ij4Pi5ZwySwplFJM7AKUNUVssOLinguagem de código:  texto simples  ( texto simples )

Este exemplo usa o PASSWORD_DEFAULTalgoritmo, 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.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *