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