| 123456789101112131415161718192021222324252627282930313233343536 |
- -- 创建 HMAC 密钥表
- -- 用于存储客户端的动态 HMAC 签名密钥
- -- 支持用户/机器码绑定、密钥过期管理、密钥轮换
- CREATE TABLE IF NOT EXISTS hmac_keys (
- id INT AUTO_INCREMENT PRIMARY KEY,
-
- -- 基本信息
- user_id INT NOT NULL COMMENT '用户ID',
- username VARCHAR(64) NOT NULL COMMENT '用户名',
- machine_code VARCHAR(128) NOT NULL COMMENT '机器码',
-
- -- 密钥信息
- hmac_key TEXT NOT NULL COMMENT 'HMAC密钥',
- key_version INT DEFAULT 1 COMMENT '密钥版本',
-
- -- 过期时间
- expires_at DATETIME NOT NULL COMMENT '过期时间',
-
- -- 状态
- is_active TINYINT(1) DEFAULT 1 COMMENT '是否活跃: 1=活跃, 0=停用',
-
- -- 时间戳
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-
- -- 索引
- INDEX idx_hmac_key_lookup (user_id, machine_code, is_active),
- INDEX idx_hmac_key_expiry (expires_at, is_active),
- INDEX idx_hmac_key_user (user_id)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='HMAC密钥表';
- -- 添加外键约束(如果user表存在)
- -- ALTER TABLE hmac_keys
- -- ADD CONSTRAINT fk_hmac_key_user
- -- FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE;
|