fix(Admin): 改用 random_int() CSPRNG,修正 UUID v4 版本/变体位

mt_rand() → random_int()(防种子预测)
版本号 nibble: 8 → 4(符合 RFC 4122 UUID v4)
变体位保持 10xx 格式不变
council/ProductManager
Council 2026-04-20 13:21:44 +08:00
parent 1244adfaae
commit c03737308b
1 changed files with 7 additions and 3 deletions

View File

@ -667,11 +667,15 @@ class Admin extends Common
} }
// 生成 room.id兜底保证每个房间有唯一 id支持前端按 id 引用) // 生成 room.id兜底保证每个房间有唯一 id支持前端按 id 引用)
// 使用 random_int() (CSPRNG)UUID v4 格式(版本=4变体=10xx
if (empty($room['id'])) { if (empty($room['id'])) {
$room['id'] = sprintf('%08x-%04x-%04x-%04x-%04x%08x', $room['id'] = sprintf('%08x-%04x-%04x-%04x-%04x%08x',
time(), mt_rand(0, 0xffff), mt_rand(0, 0xffff), time(),
mt_rand(0, 0x3fff) | 0x8000, random_int(0, 0xffff),
mt_rand(0, 0xffff), mt_rand(0, 0xffffffff)); random_int(0, 0xffff),
(random_int(0, 0x3fff) & 0x0fff) | 0x4000, // 版本4 + 变体10xx
random_int(0, 0xffff),
random_int(0, 0xffffffff));
} }
// --- 自动补全 seats 字典,解决 'A' 未定义报错 --- // --- 自动补全 seats 字典,解决 'A' 未定义报错 ---