API backend en Python para cifrado, hashing y validación de datos.
Diseñada como un núcleo reutilizable de seguridad para aplicaciones, bots y servicios backend.
VaultAPI es una API enfocada en centralizar operaciones críticas de seguridad como cifrado, hashing de contraseñas y validación de datos.
Su objetivo es desacoplar la lógica criptográfica del resto del sistema, permitiendo reutilizar un núcleo seguro y consistente en múltiples proyectos.
- Aplicaciones web
- Microservicios
- Bots
- Sistemas internos
- 🔐 Cifrado moderno con AES-GCM
- 🔑 Hashing seguro con bcrypt
- 🧠 Arquitectura modular desacoplada
- 🚫 Bloqueo de algoritmos inseguros
- 🔐 Autenticación mediante API Key
- 🧪 Tests automatizados con pytest
- 📦 Diseño listo para integración
VaultAPI/ │ ├── api/ # Capa HTTP │ ├── routes/ # Endpoints │ ├── schemas.py # Validación de datos │ └── dependencies/ # Seguridad │ ├── core/ # Lógica interna │ ├── crypto/ # AES-GCM │ ├── hashing/ # bcrypt │ ├── encoding/ # base64 │ ├── educational/ # cifrados inseguros │ ├── security/ # API keys / keys │ └── registry.py # control de algoritmos │ ├── tests/ # pruebas └── requirements.txt
git clone https://github.com/Mik0-T3ch/VaultAPI.git cd VaultAPI python -m venv venv venv\Scripts\activate pip install -r requirements.txt
python -c "import os,base64; print(base64.urlsafe_b64encode(os.urandom(32)).decode())"
API_KEY=tu_api_key MASTER_KEY=tu_master_key
uvicorn api.main:app --reload
curl -X POST http://127.0.0.1:8000/crypto/encrypt ^
-H "Content-Type: application/json" ^
-H "x-api-key: TU_API_KEY" ^
-d "{\"text\":\"hola\",\"method\":\"aes\"}"
curl -X POST http://127.0.0.1:8000/crypto/decrypt ^
-H "Content-Type: application/json" ^
-H "x-api-key: TU_API_KEY" ^
-d "{\"text\":\"TOKEN\",\"method\":\"aes\"}"
POST /password/hash
POST /password/verify
pytest
- AES-GCM con nonce aleatorio por operación
- Integridad y confidencialidad garantizadas
- bcrypt con salt automático
- Separación de claves mediante variables de entorno
Los algoritmos como Caesar y ROT13 están incluidos únicamente con fines educativos y no pueden utilizarse en los endpoints seguros.
Cliente → API → Registry → Algoritmo → Resultado
- Rate limiting
- Logging estructurado
- Versionado de API
- Rotación de claves
- Soporte para Argon2