title: Gerador de senha description: Crie um script que gera uma senha aleatória a partir de um conjunto de caracteres que o usuário controla.
Gerador de senha
Zee Oi, então a empresa enviou um memorando sobre segurança de senha e fui chamada especificamente. Constrangedor. Você pode fazer um pequeno gerador de senha? Eu dou um comprimento, sim ou não para números e símbolos, ele cria algo que eu realmente possa usar. Acho que usar "senha123" em todas as contas não é o melhor...
O que você vai construir
Comprimento da senha: 12
Incluir números? (s/n): s
Incluir símbolos? (s/n): s
Gerada: k7#mP9xQ!2aLO que você vai precisar
- Output e input - coletando as preferências do usuário
- Strings - caracteres, unindo uma lista de caracteres de volta para uma string
- Listas - construindo e combinando o conjunto de caracteres permitidos
- Módulos e a biblioteca padrão -
randompara escolher caracteres,stringpara conjuntos de caracteres pré-construídos
Dicas
Construa o conjunto primeiro. Comece com uma lista vazia de caracteres permitidos. Adicione letras sempre, depois adicione condicionalmente dígitos ou símbolos com base no que o usuário escolheu.
O módulo string economiza trabalho. Ele tem strings prontas para você: string.ascii_letters, string.digits, string.punctuation. Sem necessidade de digitá-las.
Escolha, depois una. Escolha um caractere por vez usando random.choice(), repita isso pelo comprimento que o usuário pediu, depois una os resultados em uma única string.
Indo além
Uma vez que o gerador básico funciona:
- Garanta as regras. Se o usuário pediu números, certifique-se de que pelo menos um número apareça no resultado. O mesmo para símbolos. Escolher puramente ao acaso pode não incluí-los.
- Gere um lote. Deixe o usuário pedir várias senhas de uma vez e exiba todas elas.
- Indicador de força. Depois de gerar, imprima uma classificação breve: fraca (apenas letras), média (letras + números), forte (letras + números + símbolos).

