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()