c# - Guid 在不同机器上的唯一性

c# - Guid 在不同机器上的唯一性

人们普遍认为,新的随机 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亿年。这比地球上存在的生命还要长。或者如果你是一个年轻的地球创造论者,那至少是地球寿命的六万倍。

相关创作

世界十位著名大师的管理思想
365bet真人平台

世界十位著名大师的管理思想

09-27 👁 9783
指纹识别
365bet足球网址

指纹识别

07-12 👁 3938