19 lines
407 B
Python
19 lines
407 B
Python
|
|
from functools import lru_cache
|
||
|
|
|
||
|
|
from cryptography.fernet import Fernet
|
||
|
|
|
||
|
|
from app.config import settings
|
||
|
|
|
||
|
|
|
||
|
|
@lru_cache
|
||
|
|
def _fernet() -> Fernet:
|
||
|
|
return Fernet(settings.token_encryption_key.encode())
|
||
|
|
|
||
|
|
|
||
|
|
def encrypt_token(plaintext: str) -> str:
|
||
|
|
return _fernet().encrypt(plaintext.encode()).decode()
|
||
|
|
|
||
|
|
|
||
|
|
def decrypt_token(ciphertext: str) -> str:
|
||
|
|
return _fernet().decrypt(ciphertext.encode()).decode()
|