人们普遍认为,新的随机 GUID 始终是唯一的。从概率上看,这不是真的,但是产生欺骗的可能性是如此之小,我们不需要关心它。
生成两个相同 guid 的几率是 5,316,911,983,139,663,491,615,228,241,121,400,000 分之一
因此,如果您在 100 万台计算机上生成 100 万个 guid,则生成副本的几率为:5,316,911,983,139,663,491,615,228 分之一
以 10 亿台计算机上的 10 亿个 guid 为例,产生欺骗的几率为:5,316,911,983,139,663,491 分之一(即 5.3 万亿分之一)。
数字不言自明,你不会产生欺骗。
如果您想知道我从哪里得到这些数字,GUID 的值部分是 122 位。2^122 是 5.3169119831396634916152282411214 x 10^36
一些更疯狂的数字......
如果您每秒生成 100 万个 guid,则可能需要 168,486,464,147,580,370,470,736 年才能保证重复。
@viggity 提到一些 guid 有 48 位由 mac 地址占用,数字仍然惊人,因此丢失这些位的承受能力。以上面每秒 200 万个 guid 的例子(在同一台计算机上),仍然需要 598,584,166 年才能保证被骗。那是6亿年。这比地球上存在的生命还要长。或者如果你是一个年轻的地球创造论者,那至少是地球寿命的六万倍。