Gerando senhas com python

Posted on ter 09 janeiro 2018 in Python • 1 min read

Nesse post ensinei a usar o pwgen para criar senhas, porém ele não tem me suprido pois necessito de senhas especificas.

Preciso enviar senhas de comprimento oito e apenas numeros e letras minusculas.

Resolvi criar então um script em Python para gerar essas senhas.

Vamos começar por partes

Primeiro vamos definir o executavel e importar os modulos random e string

#!/usr/local/bin/python3.6
import random
import string

Vamos criar uma função para gerar os numeros randomicos.

Atribuiremos a variavel char os caracteres minusculos e digitos numericos

def randompassword(number):
    chars = random.sample(string.ascii_lowercase + string.digits, number)
    passw = ''.join(map(str, chars))
    return passw

Perguntaremos a quantidade de senhas necessarias e o comprimento, as respostas serão armazenadas nas variaveis amount e number respectivamente.

amount = int(input("Quantas senhas:\n"))
number = int(input("Qual o comprimento da senha?\n"))

Agora para cada quantidade declarada na variavel amount vamos imprimir uma senha gerada randomicamente.

for i in range(amount):
    print(f"Senha: {i} - {randompassword(number)} ")

O codigo final ficará dessa forma:

#!/usr/local/bin/python3.6
import random
import string

def randompassword(number):
    chars = random.sample(string.ascii_lowercase + string.digits, number)
    passw = ''.join(map(str, chars))
    return passw

amount = int(input("Quantas senhas:\n"))
number = int(input("Qual o comprimento da senha?\n"))
for i in range(amount):
    print(f"   Senha: {i} - {randompassword(number)} ")

Algo simples, mas pode ser implementado em outros codigos, e claro pode ser melhorado.

Esse script encontra-se no meu Github

Simples Assim 😃