This commit is contained in:
fengchuanhn@gmail.com
2026-05-22 14:40:37 +08:00
parent 79b657941f
commit 3c91a52aff
12 changed files with 296 additions and 116 deletions

View File

@@ -0,0 +1,20 @@
"""心跳响应防伪MD5(时间桶 + verify_code)。"""
import hashlib
from datetime import datetime, timezone
def heartbeat_time_bucket(dt: datetime | None = None) -> str:
"""UTC 时间桶,格式如 ``2026-05-20 15``(精确到小时)。"""
if dt is None:
dt = datetime.now(timezone.utc)
elif dt.tzinfo is None:
dt = dt.replace(tzinfo=timezone.utc)
else:
dt = dt.astimezone(timezone.utc)
return dt.strftime("%Y-%m-%d %H")
def compute_server_verify_code(verify_code: str, dt: datetime | None = None) -> str:
raw = f"{heartbeat_time_bucket(dt)}{verify_code}"
return hashlib.md5(raw.encode("utf-8")).hexdigest()