1
22
碰撞的风险略有上升,但仍然很小。认为:
现在,请记住,当您使用guid.comb之类的算法时,您只有10位uniqueifier,相当于1024个单独的值。因此,如果在相同的几毫秒内生成大量的guid,那么 将 发生碰撞。但是,如果您以相当低的频率生成guid,那么在同一时间使用多少不同的算法并不重要,冲突的可能性实际上仍然不存在。 最好的方法是运行一个测试;让所有2个或3个(或者不管你使用了多少个)生成guid,同时以固定的时间间隔,并将它们写到一个日志文件中,看看是否会发生冲突(如果是,有多少)。这应该能让你很好地了解这在实践中的安全性。
另外,如果您正在使用nhibernate的梳状生成器为集群主键生成guid,请考虑使用
_
|
2
4
是的,风险高于正常值,因为所有这些都使用不同的“guid.”guid.newguid()定义,它主要是一个符合RFC的随机guid,但newSequentialid是一个基于MAC地址和时间戳的重新排序(因此不符合RFC)guid,而nhibernate的comb guid则完全不同(基于随机性和时间戳)。 您可能需要考虑只对一个guid实现进行标准化。我对所有应用程序使用自己类型的组合式GUID。 My blog 有所有这些类型的guid的简要描述,以及我自己的设计决策。 |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |