Spaces:
Running
Running
File size: 779 Bytes
41622e0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
"""
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")
|