1
resposta

[Projeto] Gerador de senha segura

import random
import string

def gerar_senha_segura(tamanho: int = 12) -> str:

    caracteres_maiusculos = string.ascii_uppercase
    caracteres_minusculos = string.ascii_lowercase
    caracteres_numeros = string.digits
    caracteres_especiais = string.punctuation  

    todos_caracteres = caracteres_maiusculos + caracteres_minusculos + caracteres_numeros + caracteres_especiais

    senha = []
    senha.append(random.choice(caracteres_maiusculos))
    senha.append(random.choice(caracteres_minusculos))
    senha.append(random.choice(caracteres_numeros))
    senha.append(random.choice(caracteres_especiais))
    
    tamanho_restante = tamanho - 4
    
    if tamanho_restante > 0:
        senha.extend(random.choices(todos_caracteres, k=tamanho_restante))
    
    random.shuffle(senha)
    
    return ''.join(senha)

if __name__ == '__main__':
    TAMANHO_PADRAO = 12
    senha_final = gerar_senha_segura(tamanho=TAMANHO_PADRAO)
    
    print('Gerador de Senha Segura')
    print('-' * 30)
    print(f'Comprimento da Senha: {TAMANHO_PADRAO} caracteres')
    print(f'Senha gerada: {senha_final}')

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Eduardo, como vai?

Seu código está muito bem estruturado e cumpre com eficiência o objetivo da atividade. Ele garante que a senha tenha pelo menos um caractere de cada tipo, maiúsculo, minúsculo, número e especial, e utiliza o random.shuffle() para embaralhar os caracteres, o que aumenta a segurança ao evitar padrões previsíveis.

Continue compartilhando seus projetos por aqui, o fórum está à disposição para acompanhar sua evolução.

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