构成:一个128位的数字,通常表示为32个十六进制数,形式为8-4-4-4-12的五组数字,其间用短横线(-)分隔
M:UUID的版本(Version),现在有1,2,3,4,5
N:UUID的变体(Variant)是UUID标准中定义的一个部分,用于区分不同版本UUID的编码方式。
UUID的设计目标是在分布式计算环境中生成几乎不可能重复的唯一ID,无须中心机构管理。它的生成算法结合了时间戳、硬件地址、随机数等信息,确保了即使在完全不相关的系统中生成的ID也有极高的唯一性。UUID广泛应用于需要唯一标识符的各种场景,比如数据库主键、文件命名、会话管理、分布式系统中的实体标识等。
UUID有5个版本,不同版本的生成算法有所区别:
- Version 1:基于时间戳和MAC地址生成,确保了全球唯一性,但可能暴露机器的物理地址。
- Version 2:包含时间戳、MAC地址以及一个本地域号,较少使用。
- Version 3和5:基于命名空间和输入名称使用MD5或SHA-1散列函数生成,适合基于名字的唯一性需求。
- Version 4:完全随机生成,具有高度的随机性和唯一性,但不包含时间或硬件信息。
UUID的特性包括全局唯一性、不需要集中管理、易于生成和比较等,这使得它成为众多系统和应用程序中不可或缺的一部分。