Spaces:
Running
Running
""" | |
Flare – Fernet şifreleme yardımcıları | |
""" | |
import base64, os | |
from cryptography.fernet import Fernet, InvalidToken | |
_ENV_KEY = "FLARE_TOKEN_KEY" | |
def _get_key() -> Fernet: | |
key = os.getenv(_ENV_KEY) | |
if not key: | |
raise RuntimeError(f"{_ENV_KEY} environment variable not set") | |
return Fernet(key.encode()) | |
def encrypt(plain: str) -> str: | |
f = _get_key() | |
token = f.encrypt(plain.encode()).decode() | |
return f"enc:{token}" | |
def decrypt(enc_value: str) -> str: | |
if not enc_value.startswith("enc:"): | |
return enc_value # düz metin | |
token = enc_value.split("enc:", 1)[1] | |
f = _get_key() | |
try: | |
return f.decrypt(token.encode()).decode() | |
except InvalidToken: | |
raise RuntimeError("Invalid encryption key or token") | |