PHP Velho Oeste 2024

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 algoritmo CRYPT_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 de PASSWORD_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

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.

add a note add a note

User Contributed Notes 2 notes

up
0
Daniel
7 years ago
The salt option has been deprecated as of PHP 7.0.0. It is now preferred to simply use the salt that is generated by default. -
- http://php.net/manual/pt_BR/function.password-hash.php
up
-22
renan at tecdicas dot com
7 years ago
The salt option has been deprecated as of PHP 7.0.0.
To Top