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

6 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages