1

我的应用程序需要全局唯一 ID。我知道有一个 UUID 标准,但我想知道我是否真的需要 128 位。

所以我考虑编写自己的生成器,它使用系统时间、随机数和机器网络地址来生成适合 64 位的 id,因此可以存储在unsigned long long intC++ 中的数据类型中。

如何确定 64 位对我来说是否足够?

4

1 回答 1

2

64 位运行大约 18,446,744,073,709,551,616 种组合,大约是 18 和 5.5 万亿。

因此,如果您生成 192 万个哈希,那么发生碰撞的几率将是千万分之一

概率备忘单

来源: http: //preshing.com/20110504/hash-collision-probabilities

于 2013-08-26T08:58:18.877 回答