1
resposta

[Projeto] Gerador de senha segura

import random

listas = {
"numeros" : {'0','1','2','3','4','5','6','7','8','9'},
"maiusculas" :  {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'},
"minusculas" :  {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'},
"especiais" : {'!', '#', '$', '%', '&', '(', ')', '*', '+', '>', '<', '^', '~', '@', '-', '_', 'ç', 'Ç','`', '/', '|', 'ª', 'º', '¿'}
}

tipos = list(listas.keys())
lista_senha = []

for tipo in tipos:
    contador = 1
    while contador <= 3:
       letra = random.choice(list(listas[tipo]))
       lista_senha.append(letra)
       contador += 1


random.shuffle(lista_senha)
senha = ''

for letra in lista_senha:
    senha += str(letra)

print(f'Senha gerada:{senha}')

1 resposta

Olá! Tudo bom?

Excelente! Siga praticando com os desafios e sempre compartilhe conosco.

Você soube representar os grupos de caracteres de forma eficiente, aproveitou o módulo random para sortear elementos de maneira equilibrada e entendeu como o embaralhamento com shuffle() é essencial para gerar senhas seguras e imprevisíveis.

Como dica adicional, experimente utilizar string e join() quando precisar combinar vários caracteres em uma única sequência. Assim:

import string
import random

caracteres = string.ascii_letters + string.digits + string.punctuation
senha = ''.join(random.sample(caracteres, 12))

print(f'Senha gerada: {senha}')

Com isso, você poderá gerar senhas mais rapidamente e com mais controle de tamanho e variedade de símbolos.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!