什么是UUID?

102

好的,什么是一个?


7
请注意,GUID和同一物品。 - James McMahon
2
嗯,Microsoft GUID 是同样的东西。 - skaffman
2
这里有很好的信息和生成器:在线UUID生成器 - Dave
2
@Dave,那个链接足以回答这个问题。 - Ja8zyjits
1
@Dave 在线 UUID 生成器链接似乎已损坏。 - Milan
在线UUID生成器:https://www.uuidgenerator.net/ - Jurakin
8个回答

128

这是一个可以唯一标识某物的身份证号码。其想法是该身份证号码将是全球唯一的,因此没有两个事物应该具有相同的UUID。实际上,如果你生成了一万亿个UUID,那么其中仅有大约0.00000006的概率会存在两个UUID相同。


30
你是在告诉我还有机会的意思吗? - Lucas Castro
4
发生碰撞的概率永远不会为0。 - Rakesh Gupta

74

标准化标识符

UUIDRFC 4122中定义。它们是通用唯一标识符,可以在不使用集中式机构的情况下生成。有四种主要类型的UUID在略微不同的情况下使用。所有UUID的长度都为128位,但通常表示为由四个连字符分隔的32个十六进制字符。

第1版本UUID是最常见的,它将MAC地址和时间戳组合起来产生足够的唯一性。如果多个UUID在时间戳在下一次生成之前没有增加时快速生成,则手动将时间戳增加1。如果没有可用的MAC地址,或者出于隐私原因其存在不希望,可以使用从加密安全随机数生成器中获取的6个随机字节作为节点ID。

第3版和第5版UUID是最不常见的,它们分别使用MD5和SHA1哈希函数,加上命名空间和已经唯一的数据值以产生唯一的ID。例如,这可以用于从URL生成UUID。

第4版本UUID只是128位的随机数据,其中包含一些位操作以标识UUID版本和变体。

UUID碰撞极不可能发生,特别是不会在单个应用程序空间中发生。


34

UUID指的是通用唯一标识符,是在软件开发中用于唯一标识的128位值。UUID与GUID(Microsoft)相同,是分布式计算环境(DCE)的一部分,由开放软件基金会(OSF)标准化。

正如其名称所示,UUID旨在具有高度的唯一性,在空间和时间上都很难被猜测。它的生成基于当前时间戳和生成UUID的工作站的唯一属性。

图片描述 图像来源:https://segment.com/blog/a-brief-history-of-the-uuid/


12

这是一个非常长的比特串,被认为是独一无二的,永远不会与由您或全球任何其他人生成的UUID发生冲突。

它的工作原理很简单,只需使用当前时间戳和生成它的计算机的与互联网相关的唯一属性(例如IP地址,在连接到互联网时应该是唯一的;或MAC地址,更低级别的网络卡硬件ID)作为比特串的一部分。

最初,世界上每个网络卡都有自己独特的MAC地址,但在后来的一些版本中,您可以通过软件更改MAC地址,因此它不再像以前那样可靠。


2

1
UUID是一个128位数字,用于唯一标识某个实体。根据使用的具体机制,UUID保证与任何其他生成的UUID不同或至少极有可能不同。UUID依赖于组件的组合来确保唯一性。UUID包含对生成UUID的主机的网络地址的引用、时间戳和随机生成的组件。因为网络地址标识唯一的计算机,并且时间戳对于从特定主机生成的每个UUID都是唯一的,这两个组件应足以确保唯一性。

1
我只想补充一点,最好使用usUUID(静态Windows标识符)。例如,如果计算机用户依赖第三方软件,如屏幕阅读器用于盲人或低视能力用户,则其他软件(在这种情况下是屏幕阅读器)将与唯一标识符更好地配合!毕竟,如果有人移动了您停放的车辆,您会感到多么高兴!!!

1

通用唯一识别码(UUID)是一个128位的数字,用于在计算机系统中标识信息。全局唯一标识符(GUID)这个术语也被使用,通常在由Microsoft创建的软件中使用。 当按照标准方法生成时,UUID对实际目的是唯一的。它们的唯一性不依赖于中央注册机构或生成方之间的协调,不像大多数其他编号方案。尽管UUID重复的概率很小。


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