FC ConcursosFC Concursos

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

  1. CRYPT_STD_DES - Codificação Standard DES-based com um salt de 2 caracteres.
  2. CRYPT_EXT_DES - Codificação Extended DES-based com um salt de 9 caracteres.
  3. CRYPT_MD5 - Codificação MD5 com um salt de 12 caracteres começando com %1$.
  4. CRYPT_BLOWFISH - Codificação Blowfish com um salt de 16 caracteres começando com $2%.
  5. 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

Continue aprendendo