1
resposta

Meu código

import secrets
import random

def gerar_senha():
    maiusculas = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    minusculas = "abcdefghijklmnopqrstuvwxyz"
    numeros = "0123456789"
    especiais = "!@#$%&*"

    senha =[
        secrets.choice(maiusculas),
        secrets.choice(minusculas),
        secrets.choice(numeros),
        secrets.choice(especiais)
    ]

    todos_caracteres = maiusculas + minusculas + numeros + especiais
   
    for i in range(8):
        senha.append(secrets.choice(todos_caracteres))

    random.shuffle(senha)

    senha_final = "".join(senha)

    print(f"Senha gerada: {senha_final}")

gerar_senha()
1 resposta

Oi, Eduardo! Como vai?

Agradeço por compartilhar.

Você organizou bem a função gerar_senha() e garantiu que a senha tenha pelo menos uma letra maiúscula, uma minúscula, um número e um caractere especial. O uso de secrets.choice() foi uma boa escolha para esse tipo de projeto, já que ele é mais indicado para gerar valores ligados à segurança.

Uma dica interessante para o futuro é usar uma variável para controlar o tamanho da senha, deixando o código mais fácil de ajustar:


tamanho_senha = 12
quantidade_extra = tamanho_senha - 4

for i in range(quantidade_extra):
    senha.append(secrets.choice(todos_caracteres))

Nesse exemplo, tamanho_senha define o total de caracteres da senha, e quantidade_extra calcula quantos caracteres ainda precisam ser adicionados depois dos quatro obrigatórios.

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