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

时间:2018-10-10 13:00:06

标签: random uuid guid

由于它们仅包含破折号和十六进制字符,因此随机字符串(包括特殊字符)是否会有更多可能的组合方式?

我知道将它们作为标准是一个优点,但是您也可以决定使用N个字符的随机字符串和某些列入白名单的字符,以防止系统使用不同的格式。

2 个答案:

答案 0 :(得分:2)

您基本上回答了自己的问题。当面临“自己动手”或使用其中的难题时,选择第一个应该是仔细考虑的结果。但是要回答您的问题,几乎可以保证任何生成良好的128位序列都是唯一的,因此主要好处来自可用于处理UUID的工具及其在全球范围内公认的体面的非顺序标识符。

如果有时间,请看看以下内容: Is a GUID unique 100% of the time?

答案 1 :(得分:1)

UUID是128位整数,并且保留了一些位,但出于所有实际目的,UUIDv4的122个随机位与128个完全随机位一样好。其他UUID类型故意是 not 随机的,因为有时这不是您想要的,并且那些保留的位可防止不同类型发生冲突,因为有时您并不关心使用哪种类型。

常见的十六进制形式只是人类友好的表示形式,但占用的空间却是原来的两倍。您不应将其用于人类看不见的事物;只需存储二进制格式并根据需要进行转换即可。