Spaces:
Running
Running
Update encription_utils.py
Browse files- encription_utils.py +16 -9
encription_utils.py
CHANGED
@@ -1,8 +1,12 @@
|
|
1 |
"""
|
2 |
Flare – Fernet şifreleme yardımcıları
|
|
|
|
|
|
|
3 |
"""
|
4 |
|
5 |
-
import
|
|
|
6 |
from cryptography.fernet import Fernet, InvalidToken
|
7 |
|
8 |
_ENV_KEY = "FLARE_TOKEN_KEY"
|
@@ -10,20 +14,23 @@ _ENV_KEY = "FLARE_TOKEN_KEY"
|
|
10 |
def _get_key() -> Fernet:
|
11 |
key = os.getenv(_ENV_KEY)
|
12 |
if not key:
|
13 |
-
raise RuntimeError(f"{_ENV_KEY}
|
14 |
return Fernet(key.encode())
|
15 |
|
16 |
def encrypt(plain: str) -> str:
|
|
|
17 |
f = _get_key()
|
18 |
-
|
19 |
-
return f"enc:{token}"
|
20 |
|
21 |
-
def decrypt(
|
22 |
-
|
23 |
-
|
24 |
-
|
|
|
|
|
|
|
25 |
f = _get_key()
|
26 |
try:
|
27 |
return f.decrypt(token.encode()).decode()
|
28 |
except InvalidToken:
|
29 |
-
raise RuntimeError("
|
|
|
1 |
"""
|
2 |
Flare – Fernet şifreleme yardımcıları
|
3 |
+
• encrypt(): düz string → "enc:<blob>"
|
4 |
+
• decrypt(): enc:<blob> → düz string (veya enc: yoksa aynen döner)
|
5 |
+
Anahtar: FLARE_TOKEN_KEY (32-bayt, base64, URL-safe)
|
6 |
"""
|
7 |
|
8 |
+
import os
|
9 |
+
from typing import Optional
|
10 |
from cryptography.fernet import Fernet, InvalidToken
|
11 |
|
12 |
_ENV_KEY = "FLARE_TOKEN_KEY"
|
|
|
14 |
def _get_key() -> Fernet:
|
15 |
key = os.getenv(_ENV_KEY)
|
16 |
if not key:
|
17 |
+
raise RuntimeError(f"{_ENV_KEY} ortam değişkeni tanımlanmadı")
|
18 |
return Fernet(key.encode())
|
19 |
|
20 |
def encrypt(plain: str) -> str:
|
21 |
+
"""düz string → enc:..."""
|
22 |
f = _get_key()
|
23 |
+
return "enc:" + f.encrypt(plain.encode()).decode()
|
|
|
24 |
|
25 |
+
def decrypt(value: Optional[str]) -> Optional[str]:
|
26 |
+
"""enc:... ise çözer, değilse aynen döndürür"""
|
27 |
+
if value is None or not isinstance(value, str):
|
28 |
+
return value
|
29 |
+
if not value.startswith("enc:"):
|
30 |
+
return value
|
31 |
+
token = value.split("enc:", 1)[1]
|
32 |
f = _get_key()
|
33 |
try:
|
34 |
return f.decrypt(token.encode()).decode()
|
35 |
except InvalidToken:
|
36 |
+
raise RuntimeError("FLARE_TOKEN_KEY hatalı veya token bozuk")
|