UUID或GUID与随机字符串相比的目的是什么?

5

由于它们包含破折号和十六进制字符,随机字符串(包括特殊字符在内)不是拥有更多的可能组合吗?

我知道它们作为标准的好处,但您也可以决定使用随机N个字符和特定的白名单字符来防止在系统中出现不同的格式。

2个回答

3
你基本上已经回答了自己的问题。当面临“自己开发”或使用现有工具的困境时,选择前者应该是经过仔细考虑的结果。但回答你的问题,任何良好生成的128位序列几乎都可以保证唯一,因此主要的好处来自于可用于处理UUID及其在全球范围内被认为是不错的非顺序标识符的工具。

另外,如果你有时间,请看一下这个链接: Is a GUID unique 100% of the time?


2
UUID是128位整数,虽然有一些位被保留,但在实际应用中,UUIDv4的122个随机位与128个完全随机位一样好。其他UUID类型故意不是随机的,因为有时这并不是您想要的,并且这些保留位防止不同类型相互冲突,因为有时您不关心使用哪种类型。
常见的十六进制形式只是为了人类友好而表示,代价是占用了两倍以上的空间。您不应该将其用于人类看不到的事物;只需存储二进制形式并根据需要进行转换即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接