用 SHA-1 把命名空间加名称变成确定性 UUID,符合 RFC 4122,全程浏览器本地
- 本地处理
- 分类 开发运维
- 适合 格式化、校验、压缩或检查和代码相关的文本。
当前命名空间: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
任意字符串。同一命名空间加同一名称,永远得到同一个 UUIDv5。
这个工具能做什么
免费 UUIDv5 生成器,按 RFC 4122 和 RFC 9562 的定义,用 SHA-1 把 「命名空间加名称」变成确定性 UUID。从四个标准命名空间里选一个(DNS、 URL、OID、X.500),或粘贴任意 UUID 当作自定义命名空间,填一个名称 比如 example.com,就能读出对应的版本 5 UUID。同一命名空间加同一名称 永远得到同一个 UUID,在任何机器、任何编程语言里都一样,这正是 v5 的 意义所在:从已有数据派生出稳定的 ID,而不是像 v4 那样每次都给随机 ID。底层做法是把命名空间的 16 个原始字节和 UTF-8 名称拼接,用 SHA-1 哈希,截取前 16 字节,再打上版本 5 的位和 RFC 变体位。全部用浏览器 原生 Web Crypto 在本地运算,一键复制,分享链接能还原你的命名空间和 名称。100% 浏览器本地,不上传任何内容。
工具细节
- 输入
- 文本 + 数值
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
UUIDv5 生成器 适合怎么用
适合穿插在写代码、查问题、做 Review、上线前的小任务里。
适合开发场景
- 格式化、校验、压缩或检查和代码相关的文本。
- 把片段整理好再放进文档、工单、提交或交接材料。
- 不切换工具,快速检查一个小 payload。
开发检查项
- 压缩、混淆这类不可逆处理,先对副本操作。
- 除非确认工具本地处理,不要粘贴密钥和敏感片段。
- 转换后的代码上线前,仍要跑自己的测试或 lint。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
不用数据库也给配置实体一个稳定 ID
你有一份以域名为键的集成清单,想要一个永不漂移的 ID 列。把每个域名 在 DNS 命名空间里哈希,用得到的 v5 UUID 作主键。一年后重新导入同一份 配置,每行都保留原来的 ID,因为这个 ID 是域名的纯函数,而不是插入时 才发的计数器或随机值。
给来自两个来源的记录去重
同一个用户既出现在 CRM 导出里,又出现在计费数据里,两边都只以邮箱为 键。两边都算 uuidV5(邮箱, 你的命名空间),两行就归到同一个 ID,做 join 或 upsert 就能合并,不需要模糊匹配。命名空间还能让这些 ID 不和 你从订单号派生出的 v5 ID 撞车。
为缓存或 CDN 路径造内容寻址的键
与其在每个缓存文档旁边存一个随机键,不如用 URL 命名空间从文档的规范 URL 派生键。缓存路径于是可复现:任何知道这个 URL 的服务都能重新算出 一模一样的 v5 UUID 并找到条目,既不用共享映射表,worker 之间也不用 协调。
让全团队拿到确定性的测试夹具
两个工程师写同一个集成测试,需要 ID 完全一致的夹具,好让断言在 CI 和 各自电脑上都对得上。用固定命名空间加可读名称比如 user/alice,用 v5 派生每个夹具 ID。这些 ID 永远稳定、在 diff 里可读,你还能把本工具的 分享链接贴进 PR,评审一点就能复现。
常见踩坑
不带命名空间直接对名称哈希。省掉命名空间,或者把同一个命名空间用在互不相关的名称上,会让恰好同字符串的 DNS 主机和订单编号撞成同一个 UUID。每一类名称都要配自己固定的命名空间,ID 才能互不重叠。
以为 v5 像 v4 一样不可猜。因为 v5 只是对公开输入做哈希,任何知道你的命名空间和命名规则的人都能把每个 ID 重新算出来。这对可复现是优点,但若把 UUID 当秘密用就是陷阱。需要不可预测的令牌,请改用 v4。
名称编码对不上。v5 哈希的是名称的 UTF-8 字节,所以名称若被编成 UTF-16 或带了多余空白,算出的 UUID 就和另一个系统算的不一样。各处都要把名称规范化并去空白,确保字节完全相同,否则 ID 会悄悄对不上。
隐私说明
每个 UUIDv5 都在你的浏览器标签页里用原生 Web Crypto 的 SHA-1 算出,和 系统做哈希用的是同一套引擎,命名空间和名称都不会被发往任何地方,也不 记录你哈希了什么。唯一要注意:分享链接会把命名空间和名称写进查询字符 串,所以把链接粘到聊天里,对方服务器的访问日志会留下这些值。名称若敏 感,请用结果上的复制按钮,而不是分享网址。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。