小编典典

UUID 有多独特?

all

使用 UUID
来唯一标识某物有多安全(我将它用于上传到服务器的文件)?据我了解,它基于随机数。然而,在我看来,如果有足够的时间,它最终会自我重复,只是纯属偶然。是否有更好的系统或某种类型的模式来缓解这个问题?


阅读 112

收藏
2022-03-08

共1个答案

小编典典

非常安全:

一个人每年被陨石击中的风险估计是170亿分之一,也就是说概率大约是0.00000000006(6× 10-11),相当于创造几十万亿的概率。一年中的
UUID 并且有一个重复项。换句话说,仅在接下来的 100 年每秒生成 10 亿个 UUID 之后,仅创建一个副本的概率约为 50%。

警告:

但是,这些概率仅在使用足够的熵生成 UUID
时才成立。否则,重复的概率可能会显着提高,因为统计离散度可能会更低。在分布式应用程序需要唯一标识符的情况下,即使合并来自多个设备的数据,UUID
也不会发生冲突,每个设备上使用的种子和生成器的随机性在应用程序的生命周期内必须是可靠的。如果这不可行,RFC4122 建议使用命名空间变体。

资料来源:维基百科文章中关于通用唯一标识符的 随机 UUID 重复概率
部分
(链接指向从
2016 年 12 月开始的修订,然后编辑重新修改了该部分)。

另请参阅同一篇通用唯一标识符文章Collisions
中有关同一主题的当前部分。

2022-03-08