-- 创建动态HMAC密钥表 -- 用于存储用户登录后获取的动态HMAC密钥 -- 用于后续请求的签名验证 CREATE TABLE IF NOT EXISTS `dynamic_hmac_keys` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_id` INT UNSIGNED NOT NULL COMMENT '用户ID', `hmac_key` TEXT NOT NULL COMMENT 'HMAC密钥(Base64编码)', `machine_code` VARCHAR(128) NOT NULL COMMENT '机器码', `key_version` INT UNSIGNED DEFAULT 1 COMMENT '密钥版本', `is_active` TINYINT(1) DEFAULT 1 COMMENT '是否激活: 1-激活, 0-非激活', `is_deleted` TINYINT(1) DEFAULT 0 COMMENT '是否删除: 0-否, 1-是', `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `expired_at` DATETIME DEFAULT NULL COMMENT '过期时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_user_machine` (`user_id`, `machine_code`), KEY `idx_user_id` (`user_id`), KEY `idx_expired_at` (`expired_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='动态HMAC密钥表';