UUID 生成器

UUID 是一种 128 位标识符,无需向任何中心申请就能在任意地方生成——这也是它成为数据库主键、请求标识、文件名和幂等令牌的原因。这个工具批量生成今天值得使用的两个版本:完全随机的 v4,以及把时间戳放在开头、因而按创建顺序排序的 v7。v7 对数据库主键是实打实的优势,因为随机值会把写入分散到索引各处。随机性来自你浏览器的密码学生成器,且不发送到任何地方,所以生成的值只属于你。

如何生成 UUID

  1. 选择版本:普通随机标识符用 v4;需要按顺序存储时用 v7。
  2. 设定需要的数量:一个用于随手粘贴,或者几千个用来填充一张表。
  3. 如果目标系统有格式要求,选一个:带连字符的小写是标准写法,大写和花括号适合某些微软系工具,紧凑格式去掉连字符、得到 32 个字符的字符串。
  4. 按「生成」,然后复制列表或下载为文本文件。下方的校验框可以检查你粘贴的任何 UUID,并告诉你它的版本。

关于 UUID 的常见问题

标识符是在我的设备上生成的吗?

是的。它们来自浏览器的密码学安全随机数生成器,就在页面里生成。不会向服务器请求,也不会向服务器上报,所以你生成的值从没有别人见过。

两个 UUID 会重复吗?

理论上会,实际上不会。一个 v4 UUID 有 122 位随机位;你得每秒生成数十亿个、持续几十年,碰撞才会变得可能。把它们当作唯一值来用是安全的。

什么时候该用 v7 而不是 v4?

当标识符要作为数据库主键时。v7 以毫秒时间戳开头,新行会在索引中彼此相邻落位,而不是散落各处——这让插入更快、索引更紧凑。当这个值绝不能透露任何信息时用 v4,因为 v7 会大致暴露它的创建时间。

UUID 适合当作秘密令牌吗?

v4 足够随机、难以猜测,所以可以作为 URL 里不透明的标识符。但它不能替代真正的会话令牌或 API 密钥——那些应当更长,并由你的认证系统签发。

版本 1、3、5 怎么样?

版本 1 编码了机器的 MAC 地址,会泄露它在哪里生成。版本 3 和 5 是对名称做哈希,只有在「相同输入必须始终得到相同标识符」时才有用。日常使用,在 v4 和 v7 之间选就够了。

Other tools

Languages