fix(Admin): 改用 random_int() CSPRNG,修正 UUID v4 版本/变体位
mt_rand() → random_int()(防种子预测) 版本号 nibble: 8 → 4(符合 RFC 4122 UUID v4) 变体位保持 10xx 格式不变council/ProductManager
parent
1244adfaae
commit
c03737308b
|
|
@ -667,11 +667,15 @@ class Admin extends Common
|
|||
}
|
||||
|
||||
// 生成 room.id(兜底:保证每个房间有唯一 id,支持前端按 id 引用)
|
||||
// 使用 random_int() (CSPRNG),UUID v4 格式(版本=4,变体=10xx)
|
||||
if (empty($room['id'])) {
|
||||
$room['id'] = sprintf('%08x-%04x-%04x-%04x-%04x%08x',
|
||||
time(), mt_rand(0, 0xffff), mt_rand(0, 0xffff),
|
||||
mt_rand(0, 0x3fff) | 0x8000,
|
||||
mt_rand(0, 0xffff), mt_rand(0, 0xffffffff));
|
||||
time(),
|
||||
random_int(0, 0xffff),
|
||||
random_int(0, 0xffff),
|
||||
(random_int(0, 0x3fff) & 0x0fff) | 0x4000, // 版本4 + 变体10xx
|
||||
random_int(0, 0xffff),
|
||||
random_int(0, 0xffffffff));
|
||||
}
|
||||
|
||||
// --- 自动补全 seats 字典,解决 'A' 未定义报错 ---
|
||||
|
|
|
|||
Loading…
Reference in New Issue