目录
1、 uuid是什么?
UUID stands for Universally Unique IDentifier. It's a 128-bit value used for a unique identification in software development。
UUID代表通用唯一标识符。它是一个128位的值,用于软件开发中的唯一标识。
它是一个识别号码,可以唯一地识别某物。id号将是普遍唯一的。因此,没有两个东西具有相同的uuid。事实上,如果您要生成10万亿uuid,那么两个uuid相同的概率大约是。00000006。
2、uuid的组成
它们的目的是在空间和时间上具有很高的唯一性可能性,并且在计算上难以猜测。它的生成基于当前时间戳和生成UUID的工作站的惟一属性。
3、uuid的分类
uuid工分为4类,uuid1、uuid4、uuid3,uuid5。他们都是作为唯一标识使用,但是使用的场景有所不同。
3.1 uuid1
版本1 uuid是最常见的,它将MAC地址和时间戳组合在一起以产生足够的唯一性。如果生成多个uuid的速度足够快,以至于时间戳在下一代之前没有增加,那么时间戳将手动增加1。如果没有可用的MAC地址,或者由于隐私原因不希望出现MAC地址,那么可以使用来自加密安全随机数生成器的6个随机字节作为节点ID,如下图
所以,如果我们要产生一个全世界唯一的uuid码,就要使用uuid1.
3.2 uuid4
版本4 UUID,仅仅是128位随机数据,通过一些位操作来识别UUID版本和变体。
所以uuid4是有可能重复出现的,但是这种概率非常小。如果不是严格要求,可以使用它代替uuid1
3.3 uuid3、uuid5
版本3和版本5 UUID是最不常用的,它们分别使用MD5和SHA1哈希函数,加上一个名称空间,再加上一个已经唯一的数据值来生成唯一的ID。例如,可以使用URL生成UUID。