Robusto • Simple • Seguro • 100% Offline
Gestor de contraseñas cifrado desarrollado en Java
- 📌 Descripción
- ✨ Características
- 🛡️ Seguridad
- 🏗️ Arquitectura
- 📂 Estructura del Proyecto
- 🖥️ Manual de Usuario
- 🚀 Instalación Paso a Paso
- 🧪 Tests
- 📊 Diagramas
- 🔄 Versionado
- 🤝 Contribuir
- 📄 Licencia
CipherKey es un gestor de contraseñas seguro, completamente offline, desarrollado en Java (JDK 25) utilizando Java Swing para la interfaz gráfica.
Su objetivo es proporcionar almacenamiento cifrado local sin depender nada ajeno al ordenador local.
- 🔐 Creación de bóveda protegida con clave maestra
- 🔑 Generador de contraseñas seguras (hasta 64 caracteres)
- 🗂️ Gestión de credenciales por usuario, dominio, URL y notas
- 🛡️ Datos cifrados en archivo
.ckey - 🧹 Limpieza automática de datos sensibles en memoria (30 seg)
- 🌐 100% offline
| Característica | Implementación |
|---|---|
| Hash de clave maestra | SHA-256 |
| Persistencia | JSON cifrado |
| Protección contra fuerza bruta (300k iteraciones) | Validación y cifrado robusto |
| Limpieza de memoria | Eliminación tras uso o timeout |
| Longitud máxima contraseña | 64 caracteres |
- No se almacenan contraseñas en texto plano.
- No existe conexión a red.
- El archivo
.ckeycontiene los datos cifrados. - La clave maestra nunca se guarda.
CipherKey sigue una arquitectura inspirada en el patrón MVC (Model-View-Controller) para separar responsabilidades.
| Capa | Responsabilidad |
|---|---|
| Model | Representación de datos (Credenciales, Usuario) |
| View | Interfaces gráficas con Swing |
| Controller | Lógica de la gestion de Contraseñas y bovedas |
| Security | Cifrado, persistencia y seguridad |
| Persistence | Utilidades de configuracion y guardado |
src/
└── main/
└── java/com/cipherkey/
├── model/
├── view/
├── controller/
├── service/
├── security/
└── util/
- Separación clara de responsabilidades.
- Facilita escalabilidad.
- Permite testear la lógica sin depender de la UI.
- Mejora mantenibilidad.
- Introducir clave maestra.
- Si es la primera vez, se crea la bóveda.
- Visualizar credenciales guardadas.
- Añadir / editar / eliminar entradas.
- Seleccionar longitud.
- Generar contraseña segura.
- Copiar al portapapeles.
- Java JDK 25
- Maven 3.9+
- Sistema operativo: Windows / Linux / macOS (.jar)
git clone https://github.com/Adri-Coding-Dev/CipherKey.git
cd cipherkeymvn clean packagejava -jar target/cipherkey<VERSION>.jar- Se pedirá clave maestra.
- Se generará archivo
.ckeyen el directorio elegido.
El proyecto NO incluye pruebas unitarias en su version mas actual (Version 2.0). Aun asi, está en fase de desarrollo
Cobertura:
- Generador de contraseñas
- Lógica de cifrado
- Validaciones de autenticación
classDiagram
class CipherKey {}
class ConfigVault {
- configPath : String
- datFile : String
- hashFile : String
- notes : String
- length : int
}
class VaultManager {
+ create()
+ load()
+ save()
+ decrypt()
+ encrypt()
}
class Credential {}
User --> VaultManager
VaultManager --> Credential
flowchart TD
A[Usuario introduce clave] --> B[Hash SHA-256]
B --> C[¿Coincide?]
C -->|Sí| D[Acceso al Dashboard]
C -->|No| E[Error de autenticación] --> A
El proyecto sigue.
- Sistema de autenticación con clave maestra
- Persistencia cifrada
.ckey - Interfaz gráfica Swing
-
Sistema de autenticación con clave maestra
-
Generador de contraseñas
-
Persistencia cifrada
.ckey -
Interfaz gráfica Swing
- Sistema de autenticación con clave maestra
- Generador de contraseñas
- Persistencia cifrada
.ckey - Interfaz gráfica Swing
- Gestion de Bovedas
- Modo oscuro
- Fork del proyecto
- Crear rama
feature/nueva-funcionalidad-o-fix-bug - Commit descriptivo
- Pull Request
Convenciones:
- Commits claros y descriptivos
- Seguir estructura MVC
- Añadir tests a nuevas funcionalidades
Distribuido bajo licencia MIT.
Hecho con ☕ y Java




