Gerar senhas seguras com Python
Os administradores de sistemas e os desenvolvedores de software encontram diversas necessidades em que a geração de senhas aleatórias e seguras se torna necessária. Neste artigo, descrevo melhor a necessidade de criarmos senhas seguras, além de disponibilizar um script em Python para a automação dessa tarefa.
[ Hits: 9.340 ]
Por: Diego Mendes Rodrigues em 23/11/2020 | Blog: https://www.linkedin.com/in/diegomendesrodrigues/
"""
Gerar senhas em Python, com letras, números, símbolos e outras variações
-
Diego Mendes Rodrigues
"""
import secrets
import string
import uuid
def gerar_senha_letras(comprimento):
"""Gerar uma senha com letras, com o comprimento informado
:param comprimento: Comprimento da senha
:return: Senha gerada
"""
password_characters = string.ascii_letters
password = ''.join(secrets.choice(password_characters) for i in range(comprimento))
return password
def gerar_senha_letras_numeros(comprimento):
"""Gerar uma senha com letras e números, com o comprimento informado
:param comprimento: Comprimento da senha
:return: Senha gerada
"""
password_characters = string.ascii_letters + string.digits
password = ''.join(secrets.choice(password_characters) for i in range(comprimento))
return password
def gerar_senha_letras_numeros_simbolos(comprimento):
"""Gerar uma senha com letras, números e símbolos, com o comprimento informado
:param comprimento: Comprimento da senha
:return: Senha gerada
"""
password_characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(secrets.choice(password_characters) for i in range(comprimento))
return password
def gerar_senha_hexadecimal(metade_comprimento):
"""Gerar uma senha hexadecimal, sendo o comprimento igual o dobro
:param metade_comprimento: Comprimento da senha
:return: Senha gerada
"""
password = secrets.token_hex(metade_comprimento)
return password
def gerar_senha_uuid():
"""Gerar uma senha com UUID com 36 caracteres
:return:
"""
password = uuid.uuid4()
return password
if __name__ == '__main__':
"""Função principal do script que gera senhas em Python"""
senha = gerar_senha_letras(16)
print(senha)
senha = gerar_senha_letras_numeros(16)
print(senha)
senha = gerar_senha_letras_numeros_simbolos(16)
print(senha)
senha = gerar_senha_hexadecimal(12)
print(senha)
senha = gerar_senha_uuid()
print(senha)
Ubuntu 18.04 LTS - LAMP - Linux, Apache, MySQL ou MariaDB, PHP 7.2
Instalando Nginx e PHP no Ubuntu
Alternativas ao Microsoft Visio para Linux
Como executar tarefas a cada 5, 10 ou 15 minutos
Configurar um servidor FTP com o vsFTPd no Raspberry Pi
Trabalhando com permutações em ordem lexicográfica crescente
Desenvolvendo aplicações GUI simples em Python & Glade (PyGTK) com banco de dados SQLite
Interagindo com servidores HTTP com Python
Crie um bot para Telegram e gerencie a escala de plantonistas
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)









