-- 管理端账户(独立监听 + 内网白名单 + 2FA 的身份表) -- 凭证最小化:密码 argon2id,TOTP 密钥 AES-GCM 加密后以二进制存储,明文绝不入库。 CREATE TABLE admins ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(64) NOT NULL UNIQUE, pw_hash VARCHAR(255) NOT NULL, -- argon2id(PHC 编码) totp_secret VARBINARY(255) NOT NULL, -- AES-GCM(密钥来自 ADMIN_SECRET_KEY) status ENUM('active','disabled') NOT NULL DEFAULT 'active', created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), last_login_at DATETIME(6) NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;