UUID,全称是“Universally Unique Identifier”,即通用唯一识别码。它是一种标准化的128位长度的数字标识码,用于在计算机系统中唯一地标识信息。UUID的核心特点就是“唯一”,它能够在全球范围内确保每一个UUID都是独一无二的。
UUID通常表示为36位的十六进制字符串,比如“123e4567-e89b-12d3-a456-426655440000”,由连字符分为5段。它由算法(如时间戳、硬件地址、随机数等)生成,理论上重复的概率极低,可视为“全球唯一”。而且,UUID不依赖特定硬件或系统,可在不同设备、系统间通用,具有很强的平台兼容性。
UUID的应用场景非常广泛,比如:
总的来说,UUID作为一种强大的通用唯一识别码,在软件开发和分布式系统中发挥着重要的作用。
UUID(通用唯一标识符)共有8个版本,不同版本基于不同的生成原理:
版本1(v1)
基于时间戳、MAC地址和时钟序列生成,时间戳精度为100纳秒。该版本生成的ID具有时间顺序性,但可能暴露设备MAC地址和时间信息。
版本2(v2)
保留用于未指定详细信息的安全ID,实际应用较少。
版本3(v3)
通过命名空间(如DNS、URL)的MD5哈希生成,确定性强,相同输入产生相同输出。
版本4(v4)
完全基于随机数生成,无顺序且无信息泄露风险。该版本是Java中randomUUID()方法的实现方式,重复概率极低。
版本5(v5)
与v3类似,但使用SHA-1哈希算法替代MD5。
版本6(v6)
基于时间戳、MAC地址和单调计数器生成,排序时按创建时间排序。
版本7(v7)
由时间戳和随机数据生成,适用于需要排序的场景(如数据库键)。
版本8(v8)
完全自定义生成方式,除必需的版本/变体字段外可自由设计。
选择建议: