Este proyecto es un Generador de Contraseñas Seguro en Python, diseñado para crear contraseñas robustas, evaluar su seguridad y verificar si han sido comprometidas en bases de datos públicas. Este programa es ideal para quienes desean mejorar la seguridad de sus contraseñas personales o profesionales, ofreciendo una solución completa y fácil de usar.
- Generación de Contraseñas Aleatorias: Crea contraseñas de cualquier longitud especificada con una combinación de letras mayúsculas, minúsculas, números y símbolos, asegurando que no haya caracteres repetidos en secuencia.
- Análisis de Seguridad de Contraseñas: Calcula la entropía de la contraseña (en bits) y clasifica su seguridad como
Mala
,Moderada
,Buena
oExcelente
. - Sugerencias para Mejorar Contraseñas Inseguras: Proporciona recomendaciones para mejorar las contraseñas calificadas como
Débil
, tales como aumentar la longitud o añadir más tipos de caracteres. - Verificación de Contraseñas Comprometidas: Utiliza la API de Have I Been Pwned para comprobar si una contraseña ha sido filtrada en bases de datos públicas.
Para utilizar este programa, asegúrate de tener Python 3.x instalado y la biblioteca requests
disponible. Puedes instalar las dependencias fácilmente con el siguiente comando:
pip install -r requirements.txt
-
- Clona este repositorio y navega a la carpeta del proyecto:
git clone https://github.com/C35D3V/generador_de_contrasenas.git
cd generador_de_contrasenas
-
- Ejecuta el programa principal:
python src/generador_de_contrasena.py
Al iniciar el programa, verás un menú como este:
==================================
== Menú de Generador de Contraseñas ==
- Generar una o varias contraseñas
- Analizar la seguridad y entropía de una contraseña
- Salir
===================================
Selecciona la opción 1 para generar contraseñas. Ingresa la longitud y la cantidad deseada, y el programa te proporcionará una lista de contraseñas seguras.
Selecciona la opción 2 para analizar una contraseña. El programa calculará su entropía y te ofrecerá recomendaciones si la contraseña es insegura. Además, verificará si ha sido comprometida usando la API de Have I Been Pwned.
Este programa no almacena ninguna contraseña generada ni analizada, y la verificación de contraseñas comprometidas utiliza el método de k-Anonymity para proteger tu privacidad, enviando solo un fragmento encriptado de la contraseña a la API de Have I Been Pwned.
Este proyecto está licenciado bajo la Licencia MIT. Puedes consultar el archivo LICENSE para más detalles.
Las contribuciones son bienvenidas. Si deseas mejorar el proyecto, no dudes en hacer un fork y abrir un pull request.