init: 初始化项目

This commit is contained in:
zwt13703
2026-07-08 20:02:29 +08:00
parent 22590ae7b8
commit 1bb84df4ca
98 changed files with 8535 additions and 2 deletions
+25
View File
@@ -0,0 +1,25 @@
import base64
import hashlib
from cryptography.fernet import Fernet
from app.core.config import get_settings
def _derive_fernet_key(secret: str) -> bytes:
digest = hashlib.sha256(secret.encode("utf-8")).digest()
return base64.urlsafe_b64encode(digest)
def _get_fernet() -> Fernet:
settings = get_settings()
key = _derive_fernet_key(settings.SECRET_KEY)
return Fernet(key)
def encrypt_api_key(api_key: str) -> str:
f = _get_fernet()
return f.encrypt(api_key.encode("utf-8")).decode("utf-8")
def decrypt_api_key(encrypted_key: str) -> str:
f = _get_fernet()
return f.decrypt(encrypted_key.encode("utf-8")).decode("utf-8")