SnowCat Security Bot
6f9d3cdb0f
fix(security): SignToken 密钥与密码哈希加固
1. HMAC 密钥: 未配置 NAPCAT_WEBUI_JWT_SECRET_KEY 时不再回落 Math.random()
(可预测密钥=凭证可伪造), 改用 crypto.randomBytes(32) 强随机并稳定缓存。
行为变化: 未配置密钥时重启后所有已签发凭证失效, 用户需重新登录。
2. 密码哈希: generatePasswordHash 升级为 scrypt(随机盐16B, N=16384,r=8,p=1),
存储格式 scrypt$<saltHex>$<hashHex>。
3. comparePasswordHash 双格式兼容: 新格式逐盐 scrypt 校验; 旧格式(单轮
SHA-256 password+'.napcat')仍可校验通过, 保证存量凭证不失效、不丢功能语义。
建议用户改密码一次即迁移到 scrypt。
4. 凭证比较统一走 timingSafeEqual, 消除逐字节短路时序侧信道。
2026-11-13 03:33:30 +08:00
..
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-12 06:27:36 +08:00
2026-11-13 03:33:30 +08:00
2026-11-12 06:27:36 +08:00