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