Cifrar cargas para colas de eventos no debería obligarte a serializar JSON y convertir bytes a mano. encrypt() y decrypt() de wauth procesan strings, listas y diccionarios con total transparencia.
Esta es la implementación exacta para producción de Direct encrypt() & decrypt() with Auto-JSON:
from wauth import WAuth
auth = WAuth()
# 1. Direct String Encryption
token = auth.encrypt("Sensitive payload for Kafka topic")
original_text = auth.decrypt(token)
# 2. Direct Dictionary (Auto-JSON) Encryption
session = {
"user_id": 9941,
"role": "superadmin",
"permissions": ["read", "write", "audit"]
}
# Automatically serialized to JSON before AES encryption
encrypted_token = auth.encrypt(session)
# Automatically deserialized back into a real Python dictionary!
restored_session = auth.decrypt(encrypted_token)
print(f"Restored role: {restored_session['role']}")
Ventajas de ingeniería:
-
Primitivas Directas:
auth.encrypt(payload)yauth.decrypt(token)sin escribir en base de datos. -
Auto-Serialización JSON: Serializa y deserializa tipos
dictylistde forma transparente. - Listo para Streaming: Ideal para sellar eventos de Kafka, cargas en Redis y webhooks HTTP.
Problemas eliminados:
- Necesidad de cifrar payloads JSON para colas de mensajería sin querer guardarlos en base de datos
- Hacer malabares con
json.dumps()y conversiones de bytes antes de invocar la criptografía - Estructuras de diccionarios corruptas por errores manuales de codificación y decodificación
Explora el código fuente abierto y auditado en GitHub o instálalo con:
pip install wauth
Autor: William Steve Rodríguez Villamizar (Wisrovi)
Top comments (0)