Skip to content

Mik0-T3ch/VaultAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 VaultAPI

🛡️ Motor de Seguridad Modular

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.


📌 Descripción

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

🚀 Características

  • 🔐 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

🧱 Arquitectura

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

⚙️ Instalación

git clone https://github.com/Mik0-T3ch/VaultAPI.git
cd VaultAPI

python -m venv venv
venv\Scripts\activate

pip install -r requirements.txt

🔐 Configuración

Generar MASTER_KEY

python -c "import os,base64; print(base64.urlsafe_b64encode(os.urandom(32)).decode())"

Crear archivo .env

API_KEY=tu_api_key
MASTER_KEY=tu_master_key

▶️ Ejecución

uvicorn api.main:app --reload

📡 Uso de la API

🔐 Encrypt

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\"}"

🔓 Decrypt

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\"}"

🔑 Password Hash

POST /password/hash

✅ Password Verify

POST /password/verify

🧪 Testing

pytest

🔐 Seguridad

  • 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

⚠️ Algoritmos educativos

Los algoritmos como Caesar y ROT13 están incluidos únicamente con fines educativos y no pueden utilizarse en los endpoints seguros.


🔄 Flujo del sistema

Cliente → API → Registry → Algoritmo → Resultado

🚀 Futuro

  • Rate limiting
  • Logging estructurado
  • Versionado de API
  • Rotación de claves
  • Soporte para Argon2

About

Secure encryption API built with FastAPI. Supports AES and multiple encoding methods for backend data protection.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages