Spaces:
Runtime error
Runtime error
File size: 687 Bytes
1a2b901 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import json
from cryptography.fernet import Fernet
from django.conf import settings
class EncryptionService:
def __init__(self):
key = settings.FIELD_ENCRYPTION_KEY
if not key:
raise ValueError("FIELD_ENCRYPTION_KEY is not set")
self.cipher = Fernet(key.encode())
def encrypt(self, data: dict) -> str:
json_data = json.dumps(data)
encrypted = self.cipher.encrypt(json_data.encode())
return encrypted.decode()
def decrypt(self, encrypted_data: str) -> dict:
decrypted = self.cipher.decrypt(encrypted_data.encode())
return json.loads(decrypted.decode())
encryption_service = EncryptionService()
|