😍 在线UUID/GUID生成器 您所在的位置:网站首页 线上分发识别码23-30是什么 😍 在线UUID/GUID生成器

😍 在线UUID/GUID生成器

2024-07-13 06:11| 来源: 网络整理| 查看: 265

UUID可以使用不同的算法和变量/常量值生成代码。

标识符总共有 5 个版本,使用系统日期/时间和 MAC 地址、DCE 安全协议、MD5 哈希、SHA-1 哈希和生成时的命名空间。

在所有情况下,最终结果均以 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx 格式显示(十六进制数字,由小写拉丁字母和数字组成,并用连字符分为五个块:8-4 -4-4- 12),M代表版本,N代表UUID变体。

因此,系统一次使用 36 个字符(26 个字母和 10 个数字),因此重复 32 位代码的概率趋于零,尽管它们每天都是由世界各地数百万用户生成的。

UUID 版本版本 1

第一个版本的唯一标识符在生成代码时基于计算机的 MAC 地址及其系统时间,每秒更改其数值 1 次。 生成过程由五个阶段组成:

低 32 位信息取自 UTC 标签。 转换为8个十六进制字符,占用4个字节。平均16位信息取自同一个UTC标签,转换为4个十六进制字符,占用2个字节。获取 UTC 标记的高 12 位信息并将其转换为另外 4 个十六进制字符。另外 1-3 位落在时钟序列上,通过引入一定程度的随机性/不确定性来降低冲突风险。 系统时间有条件地减慢或向后设置 - 以便同时在同一台计算机上工作的两个或多个标识符不会“交叉”。剩下的 6 个字节是根据设备的 MAC 地址生成的常量值。 它由 12 个十六进制字符组成,大小为 48 位。

由于第一版UUID的算法与系统时间有着千丝万缕的联系,因此时钟序列的使用是强制性的。 否则,在系统时间“冻结”在一个或另一个值的那一秒内,生成相同代码的风险会增加很多倍。

版本 2

第二个版本与第一个版本略有不同,并且在实践中很少使用。 它使用与用户数据或其他在其他计算机上不重复或很少重复的唯一值相关联的系统标识符,而不是时钟序列。 第二个版本中随机性的影响被最小化,可以用来提高分布式计算环境的安全性。

版本 3 和 5

它们有很多共同点:它们使用唯一的名称和名称(来自 MD5 空间)来创建代码,即非随机值。 只有版本 3 使用标准哈希,而版本 5 使用 SHA-1 哈希。 此类标识符对随机变量的依赖性较小。

版本 4

这个UUID版本的生成是90%以上随机的。 常量值有 6 位,任意值有 122 位。算法的实现是首先随机生成 128 位信息,其中 6 位被版本和变体数据替换。

第四个版本中伪随机数生成器的作用是最大的,如果算法过于简单,重复/冲突的风险会显着增加。 尽管如此,第四个版本是迄今为止最常见且在实践中最常用的版本。

UUID 选项

随着计算机技术的发展,独特的UUID已经过多次完善,如今它有多个版本。

选项0

设计用于与旧版 Apollo 网络计算系统 1.5 1988 格式数据库配合使用。 此选项向后兼容它们,并且不会与 NCS 历史 UUID 冲突。

选项 1 和 2

用于标识现代数据块和数组,在规范文本形式中,除了写入变体位的顺序之外,它们彼此没有区别。 因此选项 1 使用 big-endian 字节顺序,选项 2 使用 title-endian。 第一个是主要的,第二个是为使用 Microsoft Windows 的早期 GUID 而保留的。

选项 3

目前未使用。 它是一个保留版本,供将来使用 - 当以前的选项的可能性用尽时。

大多数系统都以大尾数法对标识符进行编码,但也有例外。 例如,Microsoft COM/OLE 库中的封送处理使用混合字节序,同时从标题字节序和大字节序块生成代码。 第一个是 UUID 的前三个组成部分,第二个是最后两个组成部分。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有