补齐模型管理与基础生成预览链路

This commit is contained in:
zwt13703
2026-07-02 15:00:11 +08:00
parent b15a3a1f18
commit a2bad58591
10 changed files with 850 additions and 52 deletions
+35
View File
@@ -0,0 +1,35 @@
import base64
import hashlib
from cryptography.fernet import Fernet, InvalidToken
from config import settings
def _build_fernet() -> Fernet:
raw_key = settings.ENCRYPTION_KEY.encode("utf-8")
digest = hashlib.sha256(raw_key).digest()
return Fernet(base64.urlsafe_b64encode(digest))
def encrypt_text(value: str) -> str:
if not value:
return ""
return _build_fernet().encrypt(value.encode("utf-8")).decode("utf-8")
def decrypt_text(value: str) -> str:
if not value:
return ""
try:
return _build_fernet().decrypt(value.encode("utf-8")).decode("utf-8")
except InvalidToken:
return ""
def mask_secret(value: str) -> str:
if not value:
return ""
if len(value) <= 7:
return "*" * len(value)
return f"{value[:3]}****{value[-4:]}"