Constantes pré-definidas
As constantes abaixo estão sempre disponíveis como parte do núcleo do PHP.
-
PASSWORD_BCRYPT
(string) -
PASSWORD_BCRYPT
é usada para criar novas hashes de senha usando o algoritmoCRYPT_BLOWFISH
.Sempre terminará com um hash usando o formato de criptografia "$2y$", com 60 caracteres.
Opções suportadas:
-
salt
(string) - para fornecer manualmente um salt que será usado ao fazer o hash da senha. Observe que isso irá substituir e evitar que um salt seja gerado automaticamente.Se omitido, um salt aleatório será gerado pela função password_hash() para cada senha sofrendo hash. Esse é o modo de operação desejado e a partir do PHP 7.0.0 a opção salt foi descontinuada.
-
cost
(int) - indica o custo de algoritmo que deve ser usado. Exemplos desses valores podem ser encontrados na página da função crypt().Se omitido, um valor padrão
10
será usado. Este é um bom patamar de custo, mas pode-se considerar aumentar esse valor dependendo do hardware.
-
-
PASSWORD_BCRYPT_DEFAULT_COST
(int) -
-
PASSWORD_ARGON2I
(string) -
PASSWORD_ARGON2I
é utilizado para criar novos hashes utilizando o algoritmo Argon2i.Opções:
-
memory_cost
(int) - Memória máxima (em bytes) que poderá ser utilizada para calcular o hash Argon2. Padrão:PASSWORD_ARGON2_DEFAULT_MEMORY_COST
. -
time_cost
(int) - Tempo máximo que poderá demorar para calcula o hash Argon2. Padrão:PASSWORD_ARGON2_DEFAULT_TIME_COST
. -
threads
(int) - Número de threads utilizada para calcular o hash Argon2. Padrão:PASSWORD_ARGON2_DEFAULT_THREADS
. Somente disponível com libargon2, mas não na implementação libsodium.
Disponível a partir do PHP 7.2.0.
-
-
PASSWORD_ARGON2ID
(string) -
PASSWORD_ARGON2ID
é utilizado para criar novos hashes de senha com o algoritmo Argon2id. Ele suporta as mesmas opções dePASSWORD_ARGON2I
.Disponível a partir do PHP 7.3.0.
-
PASSWORD_ARGON2_DEFAULT_MEMORY_COST
(int) -
Quantidade de memória padrão, em bytes, que será utilizado ao tentar calcular um hash.
Disponível a partir do PHP 7.2.0.
-
PASSWORD_ARGON2_DEFAULT_TIME_COST
(int) -
Quantidade de tempo padrão que será gasto tentando calcular um hash.
Disponível a partir do PHP 7.2.0.
-
PASSWORD_ARGON2_DEFAULT_THREADS
(int) -
Número de threads padrão qual a Argon2lib irá utilizar. Não disponível na implementação libsodium.
Disponível a partir do PHP 7.2.0.
-
PASSWORD_ARGON2_PROVIDER
(string) -
Disponível a partir do PHP 7.4.0.
-
PASSWORD_DEFAULT
(mixed) -
O algoritmo padrão a ser usado para fazer o hash se nenhum algoritmo for fornecido. Ele pode mudar com as novas versões do PHP quando algoritmos de hash novos e mais fortes forem suportados.
É importante notar que ao longo do tempo essa constante pode (e provavelmente vai) mudar. Assim sendo, deve-se estar ciente que o comprimento do hash resultante pode mudar. Portanto, se
PASSWORD_DEFAULT
for usada, deve-se armazenar o hash resultante de um modo que possa armazenar mais de 60 caracteres (255 é o comprimento recomendado).Valores para esta constante:
-
PHP 5.5.0 -
PASSWORD_BCRYPT
-
PHP 5.5.0 -
Registro de Alterações
Versão | Descrição |
---|---|
7.4.0 |
Os valores informados como IDs de algoritimo (PASSWORD_BCRYPT , PASSWORD_ARGON2I ,
PASSWORD_ARGON2ID e PASSWORD_DEFAULT ) agora são do tipo string.
Anteriormente eles eram do tipo int.
|