Aplicación de escritorio para generar y gestionar contraseñas con cifrado AES-256-GCM, protección anti-captura de pantalla, bóveda cifrada con contraseña maestra, y UI moderna con animaciones dinámicas.
Descarga GestorContraseñas.exe de la carpeta dist/ y ejecútalo directamente. No necesitas instalar Python ni nada más.
dist/
└── GestorContraseñas.exe ← Doble clic para ejecutar
# Instalar dependencia
pip install cryptography
# Ejecutar
python generador_contraseñas.pypython build_exe.pySe generará dist/GestorContraseñas.exe (~13 MB). Puedes copiarlo a cualquier carpeta.
¿Dónde guarda los datos el
.execuando lo ejecutas?
| Archivo | Descripción | Ubicación |
|---|---|---|
vault.enc |
Tu bóveda cifrada con todas las contraseñas | %LOCALAPPDATA%\GestorContraseñas\ |
logs/ |
Carpeta con logs de ejecución | %LOCALAPPDATA%\GestorContraseñas\logs\ |
La ruta completa típica es: C:\Users\TU_USUARIO\AppData\Local\GestorContraseñas\
-
Primera ejecución: Al abrir el
.exepor primera vez, te pedirá crear una contraseña maestra. Se crea la carpetaGestorContraseñasen AppData convault.encdentro. -
Ejecuciones siguientes: El
.exebuscavault.encen AppData para cargar tus contraseñas. Solo necesitas tu contraseña maestra. -
Portabilidad: Puedes mover el
.exea cualquier carpeta o USB. Tus datos están seguros en AppData y se cargan desde cualquier ubicación del.exe. -
Migración automática: Si tienes un
vault.encantiguo junto al.exe(versión anterior), se moverá automáticamente a la nueva ubicación en AppData. -
Protección de datos: La carpeta de datos tiene atributos oculta + sistema para evitar borrado accidental. Solo se puede eliminar desde la propia app (pestaña 🛡️ Seguridad → Eliminar Datos) o manualmente con permisos de administrador.
-
Desinstalar la app: Desde la pestaña 🛡️ Seguridad puedes eliminar todos los datos (triple confirmación). Luego solo borras el
.exe. No quedan archivos residuales.
El .exe funciona 100% offline excepto por funciones opcionales:
- 🛡️ Verificar HIBP: Consulta la API de Have I Been Pwned para comprobar si tu contraseña ha sido filtrada. Envía solo los primeros 5 caracteres del hash SHA-1, nunca la contraseña completa. Es opcional.
- 📊 Auditoría de bóveda: Comprueba todas tus contraseñas guardadas contra HIBP. También opcional.
- ❌ NO envía datos a servidores (excepto HIBP si lo activas)
- ❌ NO escribe en el registro de Windows
- ❌ NO requiere permisos de administrador
- ❌ NO deja rastro si usas la función de desinstalación
📁 Código fuente (open source)
├── generador_contraseñas.py # App principal (GUI con pestañas)
├── password_engine.py # Motor de generación + passphrases + HIBP
├── crypto_vault.py # Cifrado AES-256-GCM, categorías, export/import
├── ui_engine.py # Motor de UI: animaciones, toasts, tooltips
├── build_exe.py # Script para compilar como .exe
└── README.md
📁 Generados automáticamente (no se suben a GitHub)
├── dist/GestorContraseñas.exe # Ejecutable compilado
├── build/ # Archivos temporales de compilación
├── vault.enc # Tu bóveda cifrada (PRIVADO)
└── logs/ # Logs de ejecución
- Longitud ajustable (4–256) con slider o entrada manual
- Tipos de caracteres: minúsculas, mayúsculas, dígitos, símbolos personalizables
- Triple aleatoriedad:
secrets(CSPRNG) + Fisher-Yates ×7 + intercambios extra - Indicador de fortaleza con entropía en bits + barra visual animada
- 📋 Copiar al portapapeles
- 💾 Guardar en Bóveda — con nombre, categoría, URL y email
- 🛡️ Verificar HIBP — comprueba si la contraseña ha sido filtrada
- Genera frases tipo Diceware con palabras en español
- Configurable: número de palabras (3–10), separador, capitalización, número al final
- Diccionario de ~180 palabras en español
- Ejemplo:
tigre-luna-bosque-coral-42
Crea una contraseña maestra (mín. 8 caracteres).
Cada entrada tiene:
- �️ Categoría (Social, Banco, Trabajo, Email, Gaming, Compras, etc.)
- �🌐 Nombre personalizado (ej: "GitHub", "Mi Banco")
- 🔗 URL del sitio web
- 📧 Email/usuario — con botón copiar
- 🔑 Contraseña oculta — 👁 para revelar 5 seg, 📋 para copiar
| Función | Descripción |
|---|---|
| 🔍 Búsqueda | Filtra credenciales en tiempo real por nombre, URL o email |
| 🏷️ Filtro por categoría | Filtra por Social, Banco, Trabajo, etc. |
| � Estadísticas | Total de credenciales y contraseñas débiles detectadas |
| �🚀 Quick Login | Abre la web + copia email → 4 seg después copia contraseña |
| ✏️ Editar | Modifica todos los campos incluida la categoría |
| 🗑 Eliminar | Elimina credencial (con confirmación) |
| ➕ Añadir | Nueva credencial manual con categoría |
| 📤 Exportar | Exporta credenciales cifradas a un archivo .pmex |
| 📥 Importar | Importa credenciales desde un archivo .pmex |
| ⏰ Auto-bloqueo | Se bloquea tras 5 min de inactividad |
| 🔒 Bloquear | Cierra la bóveda manualmente |
- Paleta oscura sofisticada con gradientes morado-azul
- Animaciones dinámicas: barras de progreso animadas, pulsos de color, fade-in
- Toast notifications elegantes en vez de ventanas modales
- Efectos hover con glow y cambio de borde en cards y botones
- Tooltips informativos en los botones
- Focus glow en los campos de entrada
- Transiciones suaves de color con smoothstep
| Componente | Tecnología |
|---|---|
| Cifrado | AES-256-GCM (autenticado) |
| Derivación de clave | PBKDF2-HMAC-SHA256, 600.000 iteraciones |
| Sal | 32 bytes aleatorios (única por bóveda) |
| Nonce | 12 bytes aleatorios (único por operación de cifrado) |
| RNG | secrets (CSPRNG del sistema operativo) |
- ✅ Anti-captura de pantalla —
SetWindowDisplayAffinity(Windows 10 v2004+) - ✅ Contraseñas siempre ocultas — se muestran como
●●●●●●(revelar máx. 5 seg) - ✅ Cifrado autenticado — AES-GCM detecta cualquier manipulación del archivo
- ✅ Sin datos sensibles en logs — nunca se registran contraseñas ni emails
- ✅ Anti timing attacks —
secrets.compare_digest()para comparar hashes - ✅ Limpieza de memoria — datos se borran de la RAM al bloquear la bóveda
- ✅ Archivo indescifrable —
vault.ences binario cifrado, inútil sin la contraseña - ✅ Auto-bloqueo — la bóveda se bloquea tras 5 minutos de inactividad
- ✅ HIBP k-Anonymity — nunca envía tu contraseña completa, solo 5 chars del hash
# Abre vault.enc con un editor de texto → verás datos binarios ilegibles
notepad vault.enc- Abre la app y ve a la pestaña Mis Contraseñas
- Desbloquea la bóveda
- Haz una captura de pantalla (Win+Shift+S o PrintScreen)
- Resultado esperado: la ventana aparece como un rectángulo negro en la captura
- Cierra y reabre la app
- Escribe una contraseña incorrecta en el login
- Resultado esperado: "Contraseña incorrecta" — no se muestran datos
findstr /i "tu_email@example.com" logs\*.log
findstr /i "tu_contraseña" logs\*.log- Cierra la app
- Abre
vault.enccon un editor hexadecimal y cambia 1 byte cualquiera - Reabre la app e intenta desbloquear
- Resultado esperado: falla el desbloqueo (AES-GCM detecta la manipulación)
Todo el código es open source en este repositorio:
crypto_vault.py— cifrado, categorías, export/importpassword_engine.py— generación de contraseñas y passphrasesui_engine.py— motor de animaciones y estilosgenerador_contraseñas.py— interfaz y lógica principal
Se guardan en logs/ con un archivo por ejecución (pm_YYYYMMDD_HHMMSS.log). Contienen:
- Acciones del usuario (generar, guardar, copiar)
- Tiempos de ejecución y métricas
- Nunca contraseñas, emails ni datos personales
- No olvides tu contraseña maestra — no hay forma de recuperarla
- Haz backup de
vault.encperiódicamente (o usa 📤 Exportar) - No subas
vault.enca GitHub (ya está en.gitignore) - La protección anti-captura no es infalible ante software de muy bajo nivel
- El auto-bloqueo se activa tras 5 minutos de inactividad
Código fuente abierto. Úsalo, modifícalo y compártelo libremente.