ramsey / uuid如何在全球范围内独树一帜?

时间:2018-07-06 09:48:13

标签: laravel uuid

我在laravel项目中使用了ramsey/uuid。我想为非注册会员获得唯一的ID以跟踪其活动。但是uuid1和uuid4为具有相同pc的同一成员生成随机ID。另一方面,uuid3和uuid5会生成我不同测试电脑的相同ID。有什么想法可以使每个最终用户都可以使用唯一标识符机器?

2 个答案:

答案 0 :(得分:1)

UUID是为此目的而设计的。有太多的可能性,即使使用多台计算机,也永远不会*得到重复。

  

因此,有十亿分之一的重复机会,103   必须生成1万亿个版本4 UUID。

https://en.wikipedia.org/wiki/Universally_unique_identifier#Collisions *

答案 1 :(得分:1)

UUID v4在全球范围内具有独特性(风险可忽略不计)。引用this answer

  

估计某人被陨石击中的年风险是170亿的机会之一,这意味着该概率约为0.00000000006(6×10-11),等于制造数十个概率的可能性。一年中有上万亿个UUID,并且有一个重复项。换句话说,只有在接下来的100年中每秒产生10亿个UUID之后,才创建一个副本的可能性约为50%。

您可以根据需要使用随机UUID v4。