Una aplicación sencilla para generar contraseñas seguras para tus cuentas. Desarrollada en Rust con el objetivo de ser práctica, clara y eficiente.
- 🔐 Generación de contraseñas personalizables: Elige la longitud y los tipos de caracteres.
- 🛡️ Feedback de seguridad: Evaluación automática del nivel de seguridad de la contraseña generada.
- 🖥️ Interfaz gráfica intuitiva: Construida con GTK4 para una experiencia de usuario fluida.
- 🆓 Totalmente gratuita: Licenciada bajo MIT.
La aplicación sigue una arquitectura modular para mantener el código organizado y mantenible:
pass-generator-app/
├── src/
│ ├── main.rs # Punto de entrada de la aplicación
│ ├── ui/ # Módulo de interfaz de usuario
│ │ ├── mod.rs # Declaraciones del módulo UI
│ │ ├── layout.rs # Construcción y disposición de la UI
│ │ ├── controller.rs # Lógica de conexión de eventos
│ │ ├── widgets.rs # Widgets básicos de GTK
│ │ ├── texts.rs # Constantes de texto
│ │ ├── styles.rs # Estilos y temas
│ │ └── components/ # Componentes reutilizables
│ │ ├── mod.rs
│ │ ├── options_panel.rs # Panel de opciones de generación
│ │ ├── generated_password.rs # Display de contraseña generada
│ │ └── security_feedback.rs # Feedback de seguridad
│ └── logic/ # Módulo de lógica de negocio
│ ├── mod.rs
│ ├── password.rs # Algoritmo de generación de contraseñas
│ ├── feedback.rs # Evaluación de seguridad
│ └── state.rs # Estructuras de datos para opciones
├── assets/ # Recursos gráficos
│ ├── icon.ico
│ └── logo.png
├── Cargo.toml # Configuración de Rust/Cargo
└── README.md # Este archivo
- Separación de responsabilidades: La aplicación se divide claramente en módulos
ui(interfaz) ylogic(lógica de negocio), facilitando el mantenimiento y las pruebas. - Componentes modulares: La UI está construida con componentes reutilizables en el directorio
components/, siguiendo el patrón de composición. - Estructuras de datos inmutables: Uso de structs como
PasswordOptionspara representar el estado de manera segura y eficiente.
- MVC implícito: Separación entre vista (widgets GTK), controlador (conexiones de eventos) y modelo (lógica de generación y estado).
- Builder pattern: Uso del builder de GTK4 para construir widgets de manera fluida.
- Generación segura de contraseñas: El algoritmo asegura que al menos un carácter de cada tipo seleccionado esté presente si la longitud lo permite, mejorando la seguridad.
- Rust: Lenguaje de sistemas seguro y eficiente, ideal para aplicaciones críticas como generadores de contraseñas.
- GTK4: Framework moderno para interfaces gráficas nativas, proporcionando una experiencia consistente en múltiples plataformas.
- Rand crate: Para generación de números aleatorios criptográficamente seguros.
- Modularidad con módulos: Organización del código en módulos para evitar conflictos de nombres y mejorar la legibilidad.
- Eficiencia: Generación rápida de contraseñas sin compromisos en la aleatoriedad.
- Seguridad: Uso de caracteres excluyendo confusos (como 'O' y '0') para mejorar la usabilidad.
- Internacionalización preparada: Constantes de texto separadas facilitan futuras traducciones.
- Build multiplataforma: Configurado para compilar en Windows y Linux (GTK4 es multiplataforma).
Important
Si descargas la versión de Windows, es muy posible que te aparezca un aviso diciendo que se detectó una amenaza del archivo .exe. El mensaje dice "Trojan:Win32/Wacatac.B!ml". El archivo no tiene peligro alguno, pero al utilizar el portapapeles y ser un programa muy nuevo y nada conocido, hace que haya esta interpretación por parte de algunos antivirus. Puedes preguntar a la IA acerca de esta situación con programas de Rust, por lo visto es bastante común. Puedes descargarlo sin miedo alguno 😉
Este proyecto está bajo la Licencia MIT. Consulta LICENSE para más detalles.
