1
resposta

Gerador de senha segura

import random
import string

def gerador_senha(tamanho_senha=12, simbolos='!@#$%&*?'):
    senha = [
        random.choice(string.ascii_uppercase),
        random.choice(string.ascii_lowercase),
        random.choice(string.digits),
        random.choice(simbolos)
    ]

    todos_caracteres = string.ascii_letters + string.digits + simbolos
    senha += random.choices(todos_caracteres, k=tamanho_senha - 4)
    random.shuffle(senha)

    return ''.join(senha)

print(f'Senha gerada: {gerador_senha(12)}')
1 resposta

Oi! Como vai?

Seu gerador de senhas está bem estruturado e mostra que você já domina conceitos como random.choice() e manipulação de listas. A lógica de garantir diferentes tipos de caracteres na senha ficou muito clara.

Uma dica interessante para o futuro é usar secrets em vez de random quando a segurança for prioridade. Veja este exemplo:


import secrets
import string

def gerar_segura(tamanho=12):
    caracteres = string.ascii_letters + string.digits + '!@#$%&*?'
    return ''.join(secrets.choice(caracteres) for _ in range(tamanho))

print(gerar_segura(12))

Esse código usa secrets.choice() para gerar senhas com melhor segurança criptográfica.

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