无需将命名空间 UUID 或名称发送到服务器,即可生成 UUID v5 标识符。当你需要一个可从相同输入在之后重新创建的稳定标识符时,UUID v5 很有用,例如域名、URL、对象路径、账号名称或固定记录的 ID。
How UUID v5 Works
UUID v5 会将命名空间 UUID 与名称字符串组合起来,使用 SHA-1 对这些字节进行哈希,然后应用 RFC 4122 的版本位和变体位。由于输入是确定性的,DNS 命名空间中的 example.com 始终会生成同一个 UUID:cfbff0d1-9375-5685-968c-48ce8b15ae17。
Choosing A Namespace
域名使用 ns:DNS,URL 使用 ns:URL,对象标识符使用 ns:OID,X.500 可分辨名称使用 ns:X.500 DN。当你的应用需要将标识符限定到某个产品、租户、数据集或迁移范围内时,也可以粘贴你自己的 UUID 命名空间。
When To Use It
当可复现性比随机性更重要时,选择 UUID v5。它适合确定性导入、测试固定数据、带命名空间的记录,以及需要同一个逻辑项在多次运行中获得相同 ID 的系统。对于密钥令牌或不可预测的公开 ID,请改用随机生成器。