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 引用)
|
// 生成 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' 未定义报错 ---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue