Questão de Programação — Linguagens de programação — FCC 2022
Programação›Linguagens de programação
Código
fc061119
Banca
FCC
Órgão
DETRAN-AP
Ano
2022
Cargo
Analista de Tecnologia da Informação
Considere a seguinte função PHP:crypt(string $str, string $salt = ?): stringConsidere 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
ACRYPT_STD_DES - Codificação Standard DES-based com um salt de 2 caracteres.
BCRYPT_EXT_DES - Codificação Extended DES-based com um salt de 9 caracteres.
CCRYPT_MD5 - Codificação MD5 com um salt de 12 caracteres começando com %1$.
DCRYPT_BLOWFISH - Codificação Blowfish com um salt de 16 caracteres começando com $2%.
Egerada randomicamente pelo PHP cada vez que chamar esta função.
Revelar gabarito e comentário▾
GabaritoE — gerada randomicamente pelo PHP cada vez que chamar esta função.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Função crypt() do PHP
Gabarito: letra E. Se o parâmetro salt não for informado, a função crypt() do PHP gera aleatoriamente um salt a cada chamada, conforme a documentação oficial da linguagem. Nenhuma das constantes apresentadas nas alternativas A-D é o comportamento padrão quando o salt é omitido.
A questão testa o conhecimento sobre o comportamento da função crypt() do PHP quando o parâmetro opcional salt não é fornecido. As alternativas A a D descrevem constantes de hash específicas que exigem um salt explícito para funcionar. Caso o salt seja omitido, o PHP automaticamente gera um salt aleatório – e não utiliza nenhuma dessas constantes como padrão.
Alternativa A — ❌ Incorreta
CRYPT_STD_DES exige um salt de 2 caracteres. Não é o valor padrão quando o salt é omitido.
Alternativa B — ❌ Incorreta
CRYPT_EXT_DES exige um salt de 9 caracteres. Também não é o comportamento padrão.
Alternativa C — ❌ Incorreta
CRYPT_MD5 exige um salt de 12 caracteres começando com $1$. Não é o padrão.
Alternativa D — ❌ Incorreta
CRYPT_BLOWFISH exige um salt de 16 caracteres começando com $2a$ (ou variantes). Não é o padrão.
Alternativa E — ✅ Correta ⟵ GABARITO
Quando o salt não é fornecido, o PHP gera um salt aleatório a cada chamada da função. Esse comportamento é intencional para garantir segurança, evitando que desenvolvedores usem salts fixos e vulneráveis.
NÃO CAIA NESSA!
A banca lista constantes de hash conhecidas para induzir o candidato a achar que uma delas seria o padrão. Na realidade, a omissão do salt dispara uma geração randômica – nenhuma constante fixa é usada. Com treino, você identifica rapidamente que a descrição "sempre" aponta para um comportamento dinâmico, não para uma constante pré-definida.