Questão FC373377
Considere a seguinte função PHP: crypt(string $str, string $salt = ?): string Considere que str é a string a ser encriptada e salt é uma string opcional que define a base hash da e
Desenvolvimento Web
FCC · 2022
Considere a seguinte função PHP:
crypt(string $str, string $salt = ?): string
Considere que str é a string a ser encriptada e salt é uma string opcional que define a base hash da encriptação. Se não fornecida, essa base será sempre
- CRYPT_STD_DES - Codificação Standard DES-based com um salt de 2 caracteres.
- CRYPT_EXT_DES - Codificação Extended DES-based com um salt de 9 caracteres.
- CRYPT_MD5 - Codificação MD5 com um salt de 12 caracteres começando com %1$.
- CRYPT_BLOWFISH - Codificação Blowfish com um salt de 16 caracteres começando com $2%.
- gerada randomicamente pelo PHP cada vez que chamar esta função.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
crypt() realiza uma encriptação unidirecional (hash) de uma string e aceita um salt opcional como base do processo. Quando **nenhum salt é fornecido**, o PHP **gera um salt aleatório** a cada chamada, ou seja, o valor do salt muda sempre que a função é invocada sem esse parâmetro.
Esse salt gerado automaticamente segue o formato e o comprimento adequados ao algoritmo suportado pelo sistema (por exemplo, salts curtos para o DES tradicional ou salts mais longos para MD5/Blowfish). A constante CRYPT_SALT_LENGTH indica o tamanho aplicável no seu ambiente.
Como consequência, a mesma string pode produzir hashes diferentes em chamadas distintas se o salt for gerado aleatoriamente; portanto, para validar ou reproduzir um hash, é necessário conservar o salt ou a própria saída que normalmente o contém.
Conteúdo do catálogo FC Concursos · Atualizado em