Em meio a evolução tecnológica, é importante verificar a segurança das senhas, por isso, segue um código validador de senha em python.
A um tempo atrás eu fiz um post de um gerador de senhas em python aqui no blog, dessa vez eu trouxe um outro código, mas agora com foco em validar se a senha é uma senha válida ou não, com base em critérios pré-definidos.
Pré-requisitos:
Certifique-se de ter o Python instalado em seu ambiente de desenvolvimento. Se ainda não o fez, você pode baixá-lo em python.org.
Vamos criar um script Python simples para validar senhas com base em critérios específicos. Abaixo está um exemplo básico de como você pode realizar essa tarefa.
# Feito por gustavo.tec.br
import re
def validar_senha(senha):
# Critérios de validação, altere para a quantidade que você desejar
comprimento_minimo = 8
min_caracteres_especiais = 2
min_numeros = 3
min_maiusculas = 1
# Contagem de caracteres especiais, números e letras maiúsculas
count_caracteres_especiais = len(re.findall(r'[!@#$%^&*(),.?":{}|<>]', senha))
count_numeros = len(re.findall(r'\d', senha))
count_maiusculas = len(re.findall(r'[A-Z]', senha))
# Verifica se atende aos critérios
if (
len(senha) >= comprimento_minimo and
count_caracteres_especiais >= min_caracteres_especiais and
count_numeros >= min_numeros and
count_maiusculas >= min_maiusculas
):
return True
else:
return False
# Entrada de senha pelo usuário
senha_usuario = input("Digite sua senha: ")
# Verifica se a senha é forte
if validar_senha(senha_usuario):
print("Senha forte!")
else:
print("Senha Fraca. Por favor, siga as diretrizes de segurança, coloque caracteres especiais, números e letras maiúsculas")
- Critérios de Validação:
- Comprimento Mínimo: A senha deve ter pelo menos 8 caracteres.
- Mínimo de Caracteres Especiais: São necessários pelo menos 2 caracteres especiais na senha.
- Mínimo de Números: A senha deve conter pelo menos 3 números.
- Mínimo de Letras Maiúsculas: É necessário pelo menos 1 letra maiúscula na senha.
- Contagem de Caracteres Especiais, Números e Letras Maiúsculas:
- Utilizamos expressões regulares (
re.findall
) para contar o número de caracteres especiais, números e letras maiúsculas presentes na senha. - As expressões regulares utilizadas são:
r'[!@#$%^&*(),.?":{}|<>]'
: Encontra caracteres especiais.r'\d'
: Encontra números.r'[A-Z]'
: Encontra letras maiúsculas.
- Utilizamos expressões regulares (
- Função de Validação:
- A função
validar_senha
compara a contagem de caracteres especiais, números e letras maiúsculas com os critérios mínimos estabelecidos.
- A função
- Ajustando os Critérios:
- Se a senha atender a todos os critérios, a função retorna True, indicando que a senha é válida.
- Caso contrário, retorna False, indicando que a senha não atende aos requisitos de segurança.
- Entrada de Senha pelo Usuário:
- Utilizamos a função
input
para permitir que o usuário insira sua senha.
- Utilizamos a função
- Mensagem de Saída:
- Dependendo do resultado da validação, uma mensagem apropriada é exibida para informar ao usuário se a senha é válida ou não.
Ao implementar um validador de senhas em Python, você fortalece a segurança do seu sistema, garantindo que os usuários criem senhas robustas
Link para o github -> github.com/gugahb/validadorPwPython