from cryptography.fernet import Fernet class TokenCipher: """Шифрует OAuth-токены перед передачей в БД.""" def __init__(self, key: str) -> None: try: self._fernet = Fernet(key.encode("ascii")) except (ValueError, UnicodeEncodeError) as error: raise RuntimeError("TOKEN_ENCRYPTION_KEY is invalid") from error def encrypt(self, value: str) -> bytes: return self._fernet.encrypt(value.encode("utf-8"))