当前位置:在线工具>综合类>UUID生成器
我的收藏手机访问

UUID生成器


什么是UUID?

UUID,全称是“Universally Unique Identifier”,即通用唯一识别码。它是一种标准化的128位长度的数字标识码,用于在计算机系统中唯一地标识信息。UUID的核心特点就是“唯一”,它能够在全球范围内确保每一个UUID都是独一无二的。

UUID通常表示为36位的十六进制字符串,比如“123e4567-e89b-12d3-a456-426655440000”,由连字符分为5段。它由算法(如时间戳、硬件地址、随机数等)生成,理论上重复的概率极低,可视为“全球唯一”。而且,UUID不依赖特定硬件或系统,可在不同设备、系统间通用,具有很强的平台兼容性。

UUID的应用场景非常广泛,比如:

  • 在数据库设计中,UUID可以作为主键使用,避免传统的自增主键在分布式环境下可能出现的冲突问题。
  • 在分布式系统中,UUID可以用于标识各种实体,如用户、订单、资源等,确保不同节点上的系统可以准确地识别和跟踪实体。
  • UUID还可以用于为文件命名,确保文件名的唯一性;在版本控制系统中,也可以使用UUID来标识不同版本的文件或代码。

总的来说,UUID作为一种强大的通用唯一识别码,在软件开发和分布式系统中发挥着重要的作用。

UUID 8个版本生成原理

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)

完全自定义生成方式,除必需的版本/变体字段外可自由设计。

选择建议‌:

  • ‌随机ID‌:优先使用v4(最常用)。
  • ‌排序需求‌:考虑v7或v6。
  • ‌确定性需求‌:v3或v5。