Durante uma aula sobre segurança digital, Cecília analisou um algoritmo utilizado para gerar combinações de caracteres em testes automáticos de senha. Em uma parte desse algoritmo, havia o seguinte trecho de código. Ao analisar essa parte da solução, a função do comando itertools.product no algoritmo é
Questão
Durante uma aula sobre segurança digital, Cecília analisou um algoritmo utilizado para gerar combinações de caracteres em testes automáticos de senha. Em uma parte desse algoritmo, havia o seguinte trecho de código. Ao analisar essa parte da solução, a função do comando itertools.product no algoritmo é
for combinacao in itertools.product(caracteres, repeat=len(senha_nova)):
Alternativas
A) comparar os valores de hash utilizados no login.
B) gerar diferentes combinações de caracteres para os testes realizados.
C) organizar os caracteres da senha em ordem alfabética.
D) impedir a repetição de caracteres durante a execução do programa.
E) converter automaticamente os caracteres em valores numéricos.
Explicação
No trecho
for combinacao in itertools.product(caracteres, repeat=len(senha_nova)):
itertools.product(caracteres, repeat=k)gera o produto cartesiano decaracteresconsigo mesmokvezes.- Isso equivale a gerar todas as sequências possíveis de tamanho usando os caracteres disponíveis.
- Como é um produto cartesiano, a repetição de caracteres é permitida (por exemplo, “aa”, “a1a”, etc., dependendo do conjunto).
Logo, a função do itertools.product no algoritmo é gerar diferentes combinações/sequências de caracteres para testar senhas automaticamente.
Alternativa correta: (B).