∞ConvertForever

UUID生成器

一键生成符合标准的v4 UUID——单个或批量随你。

工具加载中…

这款UUID生成器可按需生成随机的版本4 UUID(也叫GUID)。点一下得到一个标识符,或者设定数量批量生成、整份列表一起复制。每个UUID都遵循标准的8-4-4-4-12格式,例如550e8400-e29b-41d4-a716-446655440000。

UUID是现代软件里最常用的标识符:数据库主键、API请求ID、订单与会话引用、不能冲突的文件名。它的价值在于任何人都能在任何地方生成一个,无需中心化的注册机构,却能几乎确定它在全世界范围内唯一。

生成使用你浏览器的加密安全随机数,全程在本机完成,你创建的这些ID不会被任何服务器看到。

UUID生成器

如何生成UUID

  1. 点击生成,创建一个新的版本4 UUID。
  2. 需要更多?设定数量,一次性批量生成。
  3. 选择格式选项,例如大写或小写。
  4. 复制单个UUID,或一次复制整份列表。
  5. 任何时候需要新的标识符,再次生成即可。

为什么v4的碰撞完全不必担心

一个版本4 UUID含有122个随机位,可能取值约为5.3×10³⁶个。你得以每秒约十亿个的速度持续生成大约85年,才会有哪怕50%的概率出现一次碰撞。对任何正常应用来说,把v4 UUID当作唯一是标准的工程实践。

严格来讲,这个概率小到天文数字,但并非字面意义上的零——这是个值得记住的诚实区分。实践中工程师处处依赖这份近乎确定的把握,唯一你还会加一道唯一性校验的场合,是数据库某列出于别的原因本就在强制它。

v4格式是怎么拼起来的

一个UUID是128位,写作32个十六进制字符,按熟悉的8-4-4-4-12分组。在版本4里,这些位几乎全是随机的,只有一小段固定部分用来标识版本和变体:第13个字符永远是4,第17个是8、9、a或b之一。这就是为什么这个生成器产出的每个UUID,都在同一个位置有个4。

这些固定标记让任何系统无需额外信息就能直接从字符串里读出版本。其余一切都是随机抽取的,所以v4 UUID有意不携带时间戳、计数器或机器标识,这一点和版本1不同。这种「缺失」是一项特性:标识符不透露它是何时、何地被创建的。

在你的浏览器里用加密随机数生成

这款UUID生成器使用你浏览器的加密安全随机源在本地构建每个标识符,与crypto.randomUUID背后是同一类随机性。因为工作在你的设备上完成,成千上万个的一批也能即时出现,铸造你的ID全程没有服务器参与。

你生成的任何东西都不会被上传、记录或存储,所以在你复制之前,这些标识符只属于你。当这些UUID将成为你自己系统里的主键或引用编号时,这一点很有用:外部没有关于它们的记录,也不可能有另一个用户被分到同样的值。

UUID在哪些场景是对的工具

凡是你需要在不向某个中心机构索取下一个编号的前提下创建标识符时,UUID就大放异彩。分布式系统倚重它,好让各个独立服务、离线设备或多个数据库都能各自铸造出日后合并数据时不会冲突的键。它也很适合做订单引用、会话令牌的非机密部分、事件ID,以及用于跨服务追踪一次请求的关联ID。

在数据库之外它同样顺手:绝不能互相覆盖的文件名、让API可以安全重试一次请求的幂等键,以及每次运行都需要一个全新唯一值的测试固件。任何时候,只要一个单纯递增的计数器会泄露业务量或迫使各方协调,UUID就能绕开这个问题。

格式与日常选项

标准把UUID写成带连字符的小写十六进制,这也是存储和分享时最稳妥的默认。有些微软工具会把它显示成大写,有时还用花括号包起来当作GUID,所以这个工具让你切换大小写,以匹配你目标系统的期望。

无论你选哪种大小写,比较时都要当作不区分大小写来处理,因为同一个UUID可能从不同来源以两种形式到达。当你一次需要很多个时,请批量生成并复制整份列表,而不是反复点击——用来给一张表或一个配置文件填种子会快得多。

UUID是标识符,不是密钥

最重要的一条提醒是:UUID不是密码。它很难被猜到,但它天生就是拿来分享的:UUID会例行出现在URL、日志、分析和错误报告里。凡是会落到这些地方的东西,都绝不该是用户与受保护数据之间唯一的一道屏障。

所以用UUID去给东西命名和引用,用真正的身份验证和授权去保护它们。如果你需要一个不可猜测的机密,请改为生成一个长度足够的专用随机令牌,并像对待任何凭据那样,把它挡在日志和链接之外。

要避免的常见UUID错误

一个常见错误是低效地存储UUID:把数百万个当作36个字符的文本来保存,而数据库其实提供了原生的UUID类型或16字节的二进制类型,既更小、索引也更快。另一个是在期望顺序插入的系统里,拿随机的v4 UUID当聚簇主键,这会拖累写入性能;顺序要紧的地方,用一种按时间排序的UUID变体更合适。

在正确性一侧,当比较来自不同来源的值时,要留意大小写和连字符是否对得上,并且绝不要假设v4 UUID里编码了创建时间——它没有。把它当作一个不透明的唯一字符串,比较时不区分大小写,让一个真正的时间戳列去记录记录是何时创建的。

常见问题

UUID生成器免费吗?

免费且不限次数。生成一个还是上千个都行,无需账号,也没有频率限制。

UUID和GUID有什么区别?

实际上没有区别。GUID是微软对同一种128位标识符格式的叫法,UUID是通用术语。各类工具和数据库两者通用。

版本4是什么意思?

版本描述的是UUID的生成方式。版本4由随机位生成,而v1会嵌入时间戳和机器标识。v4是常见选择,因为它不透露关于生成时间或地点的任何信息。

两个生成的UUID会不会相同?

理论上会,实践中不会。有122个随机位,碰撞概率小到各处的软件都直接把v4 UUID当作唯一而无需校验。

这些UUID能放心用在生产数据库里吗?

可以。它们是用加密随机数生成的标准v4 UUID,和Python的uuid4或JavaScript的crypto.randomUUID产出的完全一致。

UUID应该用大写还是小写?

标准输出小写并推荐小写,但比较时应当不区分大小写。部分微软工具会显示大写;用大小写选项按你系统的期望来即可。

生成的UUID会被记录到什么地方吗?

不会。它们在你浏览器里生成,仅存在于你的页面上,直到你复制它们。没有任何服务器看到它们,因此不会泄露或被复用。

相关工具

把这个工具放到您的网站上

可免费嵌入任何网站或博客——复制下方代码即可。它会完整加载本页的工具,并且依然在访客的浏览器中私密运行。