Pular para o conteúdo principal

Gerador Senhas Seguras - Python - Tutorial



Gerador de senhas seguras Python:

Aprenda a criar scripts em Python com este tutorial passo a passo. Perfeito para iniciantes na programação!

Ele permite criar senhas aleatórias com critérios personalizados como comprimento, inclusão de caracteres especiais, números, letras maiúsculas e minúsculas.

Veja o vídeo no YouTube:

Começando o Tutorial:

1° Passo: Importar bibliotecas necessárias:
Vamos usar a Biblioteca "random" para gerar os caracteres da senha.

2° Passo: Definir os caracteres possíveis:
Vamos definir os conjuntos de caracteres que podem ser usados na senha (letras maiúsculas, minúsculas, números e caracteres especiais).

3° Passo: Função para gerar a senha:
Vamos criar uma função que gera a senha com base nos critérios fornecidos pelo usuário.

4° Passo: Interface de usuário:
Vamos criar uma interface simples no terminal para o usuário definir os critérios da senha.

Código Completo está abaixo:


import random
import string

def gerar_senha(comprimento=12, incluir_maiusculas=True, incluir_minusculas=True, incluir_numeros=True, incluir_especiais=True):
    caracteres = ''
    if incluir_maiusculas:
        caracteres += string.ascii_uppercase
    if incluir_minusculas:
        caracteres += string.ascii_lowercase
    if incluir_numeros:
        caracteres += string.digits
    if incluir_especiais:
        caracteres += string.punctuation
    
    if not caracteres:
        raise ValueError("Pelo menos um tipo de caractere deve ser selecionado")
    
    senha = ''.join(random.choice(caracteres) for i in range(comprimento))
    return senha

def main():
    print("Gerador de Senhas Seguras")
    comprimento = int(input("Digite o comprimento da senha (padrão 12): ") or 12)
    incluir_maiusculas = input("Incluir letras maiúsculas? (s/n, padrão 's'): ").lower() in ['s', 'sim', '']
    incluir_minusculas = input("Incluir letras minúsculas? (s/n, padrão 's'): ").lower() in ['s', 'sim', '']
    incluir_numeros = input("Incluir números? (s/n, padrão 's'): ").lower() in ['s', 'sim', '']
    incluir_especiais = input("Incluir caracteres especiais? (s/n, padrão 's'): ").lower() in ['s', 'sim', '']

    senha = gerar_senha(comprimento, incluir_maiusculas, incluir_minusculas, incluir_numeros, incluir_especiais)
    print(f"Sua senha gerada é: {senha}")

if __name__ == "__main__":
    main()
        

Explicação do código acima:

1- Importação de bibliotecas:

import random
import string

Importamos "random" para escolher caracteres aleatoriamente e "string" para acessar conjuntos de caracteres.

2- Função gerar_senha:

Recebe os parâmetros para definir os critérios da senha.
Concatena os conjuntos de caracteres baseados nos critérios fornecidos.
Gera a senha escolhendo caracteres aleatórios do conjunto resultante.

3- Função main:

Solicita ao usuário os critérios da senha.
Chama a função "gerar_senha" com os critérios definidos pelo usuário.
Imprime a senha gerada.

Executando o script:

1- Salve o código num ficheiro, por exemplo, "gerador_senhas.py".

2- Execute o ficheiro no terminal/cmd com o comando:
python gerador_senhas.py

Agora você tem um gerador de senhas funcional em Python!

Se preferir os códigos estão no meu repositório no GitHub.

As postagens do nosso blog te ajudaram?

Nos ajude a manter o blog no ar!

Faça uma doação para manter o blog funcionando.

60% das doações são no valor de R$ 7,00

Antônio José do Carmo Nascimento

Comentários

Mais vistas

Autocode - Significado e Funcionalidade

O Que é Autocode? O Autocode foi uma das primeiras linguagens de programação de computador, desenvolvida em 1952 por Alick Glennie para o computador Mark 1 na Universidade

HTML - Significado e Funcionalidade

O que é HTML? HTML é a sigla em inglês para Hypertext Markup Language, que traduzimos para o português como linguagem de marcação de hipertexto. O HTML é parte fundamental das

Semáforo - HTML, CSS e JavaScript - Tutorial

Semáforo Funcional: Aprenda a criar um semáforo funcional com este tutorial detalhado. Descubra como implementar a lógica de controle de um semáforo usando HTML, CSS e JavaScript.