ciyidogan commited on
Commit
97ae05d
·
verified ·
1 Parent(s): cb99b2d

Update encription_utils.py

Browse files
Files changed (1) hide show
  1. 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 base64, os
 
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} environment variable not set")
14
  return Fernet(key.encode())
15
 
16
  def encrypt(plain: str) -> str:
 
17
  f = _get_key()
18
- token = f.encrypt(plain.encode()).decode()
19
- return f"enc:{token}"
20
 
21
- def decrypt(enc_value: str) -> str:
22
- if not enc_value.startswith("enc:"):
23
- return enc_value # düz metin
24
- token = enc_value.split("enc:", 1)[1]
 
 
 
25
  f = _get_key()
26
  try:
27
  return f.decrypt(token.encode()).decode()
28
  except InvalidToken:
29
- raise RuntimeError("Invalid encryption key or token")
 
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")