前后端交互常用的时间敏感算法
前后端交互中涉及时间敏感的算法主要用于确保数据传输的安全性、有效性和同步性。以下是一些常见的时间敏感算法和技术:
1. 基于时间戳的签名算法(HMAC):
描述: HMAC(哈希消息认证码)是一种基于散列函数的消息认证码,通过在消息中添加时间戳,可以防止重放攻击。
应用: 用于API请求的认证和授权。例如,在请求头中包含时间戳和HMAC签名,服务器可以验证请求的时间戳是否在允许的时间窗口内。
import hmac
import hashlib
import time
import base64
def generate_signature(secret_key, message, timestamp):
# 创建带有时间戳的消息
message_with_timestamp = f"{
message}:{
timestamp}"
# 使用HMAC和SHA256哈希算法生成签名
signature = hmac.new(secret_key.encode(), message_with_timestamp.encode(), hashlib.sha256).digest()
# 将签名编码为Base64格式
signature_base64 = base64.b64encode(signature).decode()
return signature_base64
def verify_signat