20260203_create_dynamic_hmac_keys.sql 1.1 KB

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