"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Construyendo un verificador de seguridad de contraseña en Python

Construyendo un verificador de seguridad de contraseña en Python

Publicado el 2024-11-01
Navegar:827

Hola de nuevo y bienvenido al tutorial de hoy. Hoy, vamos a crear un verificador de seguridad de contraseña simple usando Python. Explicaremos cómo funciona el código paso a paso y daremos consejos sobre cómo mejorar tus contraseñas.

¿Por qué es importante la seguridad de la contraseña?

Una contraseña débil hace que sea más fácil para los piratas informáticos adivinarla o descifrarla utilizando varios métodos, poniendo en riesgo su información personal. Una contraseña segura es:

  • Suficientemente largo (al menos 12 caracteres)
  • Utiliza una combinación de letras (mayúsculas y minúsculas), números y caracteres especiales
  • Evita palabras comunes o predecibles

Comencemos creando una herramienta que evalúe la seguridad de una contraseña según estas reglas.

Configurando su entorno

Antes de comenzar a codificar, asegúrese de tener Python instalado en su computadora.

Cree un nuevo archivo Python donde escribirá su código. Además, descargue este archivo que contiene las contraseñas más comunes (lo analizaremos más adelante) y guárdelo en el mismo directorio que su archivo Python para este proyecto.

Importar bibliotecas necesarias

import string

El módulo de cadena proporciona constantes útiles para verificar tipos de caracteres como letras mayúsculas, dígitos y caracteres especiales.

Verifique las contraseñas comunes

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 función verifica si la contraseña proporcionada está en una lista de contraseñas comunes.

  • Abre un archivo llamado 'common-password.txt' que descargamos anteriormente.
  • Lee todas las contraseñas de este archivo en una lista.
  • Si la contraseña ingresada está en esta lista, devuelve Verdadero (lo que significa que es una contraseña común y, por lo tanto, débil).
  • En caso contrario, devuelve False.

¿Por qué es esto importante? Muchos piratas informáticos comienzan probando contraseñas comunes, por lo que usar una hace que su cuenta sea muy vulnerable.

Evaluar la seguridad de la contraseña

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 función evalúa la seguridad de la contraseña según varios criterios.

  • La contraseña obtiene puntos por tener más de 8, 12, 17 y 20 caracteres.
  • Comprueba la presencia de letras mayúsculas, minúsculas, caracteres especiales y dígitos.

¿Cómo funciona la puntuación?

  1. Empieza con una puntuación de 0.
  2. Agrega 1 punto por cada umbral de longitud superado.
  3. Agrega 1 punto por cada tipo de carácter utilizado (mayúscula, minúscula, especial, dígito), menos 1.
  4. Según la puntuación final, clasifica la contraseña como "Débil", "Bien", "Buena" o "Fuerte".

Proporcionar comentarios al usuario

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 función combina las dos funciones anteriores para proporcionar comentarios completos.

  • Primero verifica si la contraseña es común. Si es así, devuelve inmediatamente una advertencia.
  • Si la contraseña no es común, evalúa su seguridad.
  • Proporciona la calificación de fuerza y ​​la puntuación.
  • Si la contraseña es débil (puntuación

Programa principal

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

Esta última parte simplemente le pide al usuario que ingrese una contraseña y luego imprime los comentarios.

Programa en acción

Building a Password Strength Checker in Python

Conclusión

Crear contraseñas seguras es una parte vital para mantener la seguridad en línea y, con esta herramienta, puedes evaluar fácilmente qué tan seguras son tus contraseñas. Este sencillo programa demuestra cómo la programación básica de Python se puede combinar con principios de ciberseguridad para resolver un problema del mundo real.

Siéntete libre de experimentar con el código y agregar más funciones.

¡Feliz codificación y mantente seguro!

Declaración de liberación Este artículo se reproduce en: https://dev.to/immah/building-a-password-strength-checker-in-python-47om?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3