"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Construindo um verificador de força de senha em Python

Construindo um verificador de força de senha em Python

Publicado em 01/11/2024
Navegar:274

Olá novamente e seja bem-vindo ao tutorial de hoje. Hoje, vamos construir um verificador de força de senha simples usando Python. Explicaremos passo a passo como o código funciona e daremos dicas de como melhorar suas senhas.

Por que a força da senha é importante?

Uma senha fraca torna mais fácil para os hackers adivinharem ou quebrarem usando vários métodos, colocando suas informações pessoais em risco. Uma senha forte é:

  • Tempo suficiente (pelo menos 12 caracteres)
  • Usa uma mistura de letras (maiúsculas e minúsculas), números e caracteres especiais
  • Evita palavras comuns ou previsíveis

Vamos começar criando uma ferramenta que avalia a força de uma senha com base nessas regras.

Configurando seu ambiente

Antes de começarmos a programar, certifique-se de ter o Python instalado em seu computador.

Crie um novo arquivo Python onde você escreverá seu código. Além disso, baixe este arquivo que contém as senhas mais comuns (veremos mais sobre isso mais tarde) e salve o arquivo no mesmo diretório do arquivo Python para este projeto.

Importe as bibliotecas necessárias

import string

O módulo string fornece constantes úteis para verificar tipos de caracteres como letras maiúsculas, dígitos e caracteres especiais.

Verifique se há senhas comuns

def check_common_password(password):
    with open('common-password.txt', 'r') as f:
        common = f.read().splitlines()
    if password in common:
        return True
    return False

Esta função verifica se a senha fornecida está em uma lista de senhas comuns.

  • Ele abre um arquivo chamado 'common-password.txt' que baixamos anteriormente.
  • Ele lê todas as senhas deste arquivo em uma lista.
  • Se a senha de entrada estiver nesta lista, ela retornará True (o que significa que é uma senha comum e, portanto, fraca).
  • Caso contrário, retorna False.

Por que isso é importante? Muitos hackers começam tentando senhas comuns, então usar uma torna sua conta muito vulnerável.

Avalie a força da senha

def password_strength(password):
    score = 0
    length = len(password)

    upper_case = any(c.isupper() for c in password)
    lower_case = any(c.islower() for c in password)
    special = any(c in string.punctuation for c in password)
    digits = any(c.isdigit() for c in password)

    characters = [upper_case, lower_case, special, digits]

    if length > 8:
        score  = 1
    if length > 12:
        score  = 1
    if length > 17:
        score  = 1
    if length > 20:
        score  = 1

    score  = sum(characters) - 1

    if score 



Esta função avalia a força da senha com base em vários critérios.

  • A senha ganha pontos por ter mais de 8, 12, 17 e 20 caracteres.
  • Verifica a presença de letras maiúsculas, letras minúsculas, caracteres especiais e dígitos.

Como funciona a pontuação?

  1. Começa com pontuação 0.
  2. Adiciona 1 ponto para cada limite de comprimento ultrapassado.
  3. Acrescenta 1 ponto para cada tipo de caractere utilizado (maiúsculas, minúsculas, especial, dígito), menos 1.
  4. Com base na pontuação final, categoriza a senha como "Fraca", "Ok", "Boa" ou "Forte".

Fornecer feedback ao usuário

def feedback(password):
    if check_common_password(password):
        return "Password was found in a common list. Score: 0/7"

    strength, score = password_strength(password)

    feedback = f"Password strength: {strength} (Score: {score}/7)\n"

    if score 



Esta função combina as duas funções anteriores para fornecer feedback abrangente.

  • Primeiro verifica se a senha é comum. Nesse caso, ele retorna imediatamente um aviso.
  • Se a senha não for comum, ela avalia sua força.
  • Ele fornece a classificação e pontuação de força.
  • Se a senha for fraca (pontuação

Programa Principal

password = input("Enter the password: ")
print(feedback(password))

Esta última parte simplesmente pede ao usuário para inserir uma senha e depois imprime o feedback.

Programa em Ação

Building a Password Strength Checker in Python

Conclusão

Criar senhas fortes é uma parte vital para manter a segurança online e, com esta ferramenta, você pode avaliar facilmente o quão seguras são suas senhas. Este programa simples demonstra como a programação básica em Python pode ser combinada com princípios de segurança cibernética para resolver um problema do mundo real.

Sinta-se à vontade para experimentar o código e adicionar mais recursos.

Boa codificação e fique seguro!

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/immah/building-a-password-strength-checker-in-python-47om?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3