GeraProva GeraProva Provas com IA para professores do Brasil
Computação2º anoBNCC EF15CO02Média⏱ longo

Descreva em pseudocódigo um algoritmo que valide uma senha recebida como string conforme: mínimo 8 caracteres…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO02

Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Descreva em pseudocódigo um algoritmo que valide uma senha recebida como string conforme: mínimo 8 caracteres, ao menos uma maiúscula, uma minúscula, um dígito e um símbolo; em seguida, normalize e armazene a senha de forma segura indicando o tipo de dado escolhido e a técnica de armazenamento.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Pseudocódigo exemplo: func validar_senha(senha: string) -> bool: if len(senha) < 8: return falso has_upper := any(c.isUpper() for c in senha) has_lower := any(c.isLower() for c in senha) has_digit := any(c.isDigit() for c in senha) has_symbol := any(not c.isAlnum() for c in senha) return has_upper and has_lower and has_digit and has_symbol procedimento processar_senha(senha_raw: string): // tipo recebido: string senha := senha_raw.trim() if not validar_senha(senha): retornar 'senha inválida' salt := gerar_salt() // gerador seguro de bytes hash := PBKDF2(senha, salt, iter=100000) // usar algoritmo forte (PBKDF2/Argon2/Bcrypt) // armazenar tipos: 'senha_hash' string, 'salt' string armazenar_registro({senha_hash: hex(hash), salt: hex(salt)}) Justificativa e observações: - Receber a senha como string é adequado para análise de caracteres. - Nunca armazenar senha em texto plano: armazenar apenas o hash (string) e o salt (string) usando algoritmo de derivação de chave resistente a ataques por força bruta. - O salt previne ataques por rainbow table; iterações ou algoritmos com custo computacional (Argon2/Bcrypt/PBKDF2) aumentam segurança. - Registrar apenas o hash e metadados; para autenticar, recomputar o hash com o salt e comparar.

Explicação

A validação da senha garante que ela atenda a requisitos de segurança essenciais, como comprimento e diversidade de caracteres, reduzindo o risco de adivinhação. O uso de um algoritmo de derivação de chave, como PBKDF2, juntamente com um salt, protege as senhas armazenadas contra ataques, garantindo que mesmo senhas iguais resultem em hashes diferentes. Armazenar apenas os hashes e os salts, e nunca as senhas em texto plano, é uma prática fundamental para a segurança de dados sensíveis.

Raio-X da questão

Dificuldade Média
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

validação de senha

📌 Objetivo

avaliacao

🧱 Pré-requisitos

validação de dados · pseudocódigo

📚 Reveja

Revisar os critérios de segurança para senhas e técnicas de armazenamento.

⚠️ Erro mais comum

O aluno pode descrever um algoritmo que não atende a todos os critérios de validação da senha, como esquecer de incluir um dos tipos de caracteres exigidos.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Algoritmos

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.