VaultSphere - A simple encrypted NoSQL-like database with base64 encoding.
Project description
🔐 VaultSphere
VaultSphere es una base de datos NoSQL encriptada desarrollada en Python. Guarda todos los valores de forma segura usando cifrado AES-256 (CBC) con padding y una clave secreta generada al inicializar. Ideal para almacenar datos sensibles, simples o complejos, sin depender de ningún motor externo.
🚀 Características
- 📦 Base de datos basada en archivos (
.vdb) - 🔐 Cifrado AES-256 CBC usando
cryptography - 🧠 Serialización segura con
pickle - 🛡️ Padding PKCS7 para mantener integridad de los bloques
- 🧰 Interfaz sencilla para
set,get,delete, ysave
🛠️ Requisitos:
Python 3.7+
Paquetes:
cryptography
💾 Ejemplo de Uso
from core import VaultDatabase
# Inicializa la DB
db = VaultDatabase('TestingFolder/test.vdb', b'mi_clave_super_segura_de_32bytes!!')
# Guardar datos
db.set("usuario", {"nombre": "Max", "rol": "Admin"})
db.set("token", "gAAAAAB...")
# Obtener datos
print(db.get("usuario"))
# Eliminar un valor
db.delete("token")
# Guardar cambios
db.save()
🔑 ¿Cómo consigo mi clave?
Al ejecutar test.py por primera vez se generará una clave aleatoria de 32 bytes codificada en base64:
Clave generada: OmOXtfqU0XKk8x4b7xbZegaIXUhIasLECHTJesFMdig=
Puedes reutilizar esa clave para futuras lecturas usando:
import base64
key = base64.b64decode("OmOXtfqU0XKk8x4b7xbZegaIXUhIasLECHTJesFMdig=")
🧪 Ejecución del Test
Para probar la funcionalidad:
```
python app.py
```
Esto hará lo siguiente:
- Generará una clave segura.
- Creará una DB encriptada.
- Insetará algunos datos.
- Volverá a abrir la DB y mostrará los datos desencriptados.
⚠️ Advertencias
- La clave debe tener exactamente 32 bytes (256 bits). Si estás usando una string, asegúrate de convertirla bien o usar base64 como arriba.
- El sistema usa pickle, así que evita cargar archivos .vdb de fuentes desconocidas ⚠️.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vaultsphere-0.1.0.tar.gz.
File metadata
- Download URL: vaultsphere-0.1.0.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
812af227442924d12f6742c0f0a35fa669cb475d425581fdad969c9ef907081b
|
|
| MD5 |
fbc3234bf89bf609fa209a27bdf149d4
|
|
| BLAKE2b-256 |
502915e026b744e14cc5df1f74ea7394ebd481192456e93dc3c4ccb55c82f94c
|
File details
Details for the file vaultsphere-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vaultsphere-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e681bd96306c3790fdd725ce487e4cc8a3a99132bd6529c49eaf17cd53439a4
|
|
| MD5 |
9d6b655fb882381fdbb561780b525c52
|
|
| BLAKE2b-256 |
451a2484f9969cf240d42fc36844b899bdfa2b72b10e6034ae389897caaec26d
|