处理结果

UUID介绍

UUID定义

通用唯一识别码(英语:Universally Unique Identifier,缩写:UUID)是用于计算机体系中以识别信息的一个128位标识符。UUID按照标准方法生成时,在实际应用中具有唯一性,且不依赖中央机构的注册和分配。UUID重复的概率接近零,可以忽略不计。

因此,所有人都可以自行建立和使用UUID,而且几乎可以确定其不会与既有的标识符重复。也因为如此,在不同地方产生的UUID可以使用于同一个数据库或同一个频道中,而且几乎不可能重复。

UUID各版本介绍

标准格式:

UUID的格式是这样的:xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx。 N只能是8,9,a,b其中之一。 M代表版本号,由于UUID的标准实现有5个版本,所以只会是1,2,3,4,5

版本1:基于时间的UUID

通过当前时间戳、机器MAC地址生成; 由于在算法中使用了MAC地址,这个版本的UUID可以保证在全球范围的唯一性。 但与此同时,因为它暴露了电脑的MAC地址和生成这个UUID的时间,这就是这个版本UUID被诟病的地方。

版本2:DCE安全的UUID

DCE安全的UUID和基于时间的UUID算法相同,但会把时间戳的前4位置换为POSIX的UID或GID。 不过,在UUID的规范里面没有明确地指定,所以基本上所有的UUID实现都不会实现这个版本。

版本3:基于名字空间的UUID(MD5)

由用户指定1个namespace和1个具体的字符串,通过MD5散列,来生成1个UUID。 根据规范描述,这个版本的存在是为了向后兼容,平时也很少用到。

版本4:基于随机数的UUID

根据随机数,或者伪随机数生成UUID。这个版本是用得最多的版本。

版本5:基于名字空间的UUID(SHA1)

和版本3一样,不过散列函数换成了SHA1。