utp_service/backend/app/services/crypto.py
2026-04-07 00:00:50 +03:00

23 lines
530 B
Python

from cryptography.fernet import Fernet
from app.config import settings
_fernet: Fernet | None = None
def _get_fernet() -> Fernet:
global _fernet
if _fernet is None:
key = settings.ENCRYPTION_KEY
if isinstance(key, str):
key = key.encode()
_fernet = Fernet(key)
return _fernet
def encrypt(plaintext: str) -> str:
return _get_fernet().encrypt(plaintext.encode()).decode()
def decrypt(ciphertext: str) -> str:
return _get_fernet().decrypt(ciphertext.encode()).decode()