Spaces:
Runtime error
Runtime error
File size: 679 Bytes
cd6f98e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
from typing import Union
from cryptography.fernet import Fernet, InvalidToken
from reworkd_platform.settings import settings
from reworkd_platform.web.api.http_responses import forbidden
class EncryptionService:
def __init__(self, secret: bytes):
self.fernet = Fernet(secret)
def encrypt(self, text: str) -> bytes:
return self.fernet.encrypt(text.encode("utf-8"))
def decrypt(self, encoded_bytes: Union[bytes, str]) -> str:
try:
return self.fernet.decrypt(encoded_bytes).decode("utf-8")
except InvalidToken:
raise forbidden()
encryption_service = EncryptionService(settings.secret_signing_key.encode())
|