在10亿次迭代中获得相同GUID的几率是多少?

时间:2010-06-29 06:40:43

标签: .net guid

我正在开发一个项目,我需要生成大约10亿个GUID。

我知道GUID不能保证唯一,但几乎在所有时间都是独一无二的。

如果我生成了十亿个GUID,那么匹配的可能性是多少?

3 个答案:

答案 0 :(得分:15)

http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx

.NET GUID由

组成
  • 60位时间戳,
  • 48位计算机标识符,
  • 14位uniquifier和
  • 修复了六位

因此,奥斯卡引用的UUID概率在这里不起作用。但是如果你从一台计算机上创建了所有10亿个GUID,就没有机会获得重复(除了你正在玩时钟; - )

答案 1 :(得分:5)

如果您从同一台机器创建GUI并使用相同的算法,那么您将不会发生碰撞。

答案 2 :(得分:2)

http://en.wikipedia.org/wiki/Uuid#Random_UUID_probability_of_duplicates

概率

68,719,476,736 = 2 ^ 36 = 0.0000000000000004 = 4×10 ^ -16)

2,199,023,255,552 = 2 ^ 41 = 0.0000000000004 =(4×10 ^ -13)

70,368,744,177,664 = 2 ^ 46 = 0.0000000004 =(4×10 ^ -10)