开发者工具 · UUID 生成器
在没有服务器的情况下生成 UUID:为什么网络面板保持为空
· 为什么它很重要
uuid 密码学 浏览器 API
一个调用其服务器的在线 UUID 生成器正在向您发送您从未需要共享的元数据。这篇文章解释了为什么本地生成本身是完整的,以及如何验证工具是否确实是本地的。
为什么 ID 生成器需要服务器 - 以及为什么对于随机 UUID,它不需要
当 UUID 生成完全是本地时,为什么 UUID 生成器需要服务器? UUID 在数学上独立于生成器外部的任何状态。版本 4 UUID 是 122 位的加密随机数据,其中 4 位用于版本,2 位用于变体。客户端可以访问浏览器中的加密安全随机源 Web Crypto、服务器中的本地加密库,因此它可以在本地生成整个 UUID ,而无需咨询任何外部服务。然而,许多在线 UUID 生成器会发出 HTTP 请求,发送不需要离开客户端的数据。这是不必要的,并且可能会损害隐私。
托管生成器可以保留什么——请求日志、地址和时间戳,被描述为可能性而不是指控
将您的请求发送到服务器的生成器可以保留与您的 UUID 生成模式关联的请求日志、时间戳和 IP 地址。即使它本身不存储 UUID,它也知道您何时以及从何处生成 ID。对于从事机密项目的开发人员来说,ID 生成可能会泄露有关时间和开发活动的信息。出于测试目的,格式正确但仍发送到服务器的 UUID 可能受到损害:服务器现在知道您正在测试哪些操作或系统。此元数据对于聚合器很有价值,可用于分析或分析。
为什么标识符本身是敏感的 - 成为记录密钥的 UUID 是系统结构的一小部分
对不必要的服务器参与的回应是,本地生成比基于服务器的生成更简单、更快且更私密。您的浏览器已经内置了 Web Crypto,或者您的服务器可以访问操作系统熵源。结果可以立即复制、下载或使用,无需等待网络往返。 UUID 永远不会通过网络传输。生成器永远不会知道你运行了它。本地生成显然是 UUID 的默认设置;服务器的参与是一个不必要的中介,它会带来风险而不提供价值。客户端拥有生成有效 RFC 9562 UUID 所需的一切。
验证工具是本地的 - 打开浏览器的网络面板,生成并监视请求
调用其服务器的托管生成器可以出于各种既定原因保留日志:分析以了解使用模式、滥用预防以检测攻击、调试以解决问题,或者出于未向用户说明的原因:向营销聚合器销售数据、行为分析以构建用户档案、与其他服务集成或跨服务跟踪。请求本身携带元数据:您的 IP 地址显示位置和来源,用户代理标头识别您的浏览器版本,有时还识别操作系统,时间戳显示您何时访问该工具,cookie 或跟踪标识符可能与访问相关。如果生成 UUID,则会记录该请求。如果您稍后在系统中使用该 UUID,则将日志与您的系统相关联可能会泄漏有关您正在构建的内容的信息。
严格的内容安全策略增加了什么 - 没有第三方脚本、字体或标签意味着没有通往第三方的隐藏通道
ToolAcre 生成器使用严格的内容安全策略来防止外部请求、第三方脚本和远程字体。您可以在浏览器的响应标头中或通过读取页面的 CSP 元标记来验证这一点。没有第三方分析、广告标签、跟踪像素或外部资源加载。 UUID 生成代码是从与页面相同的源加载的,因此它与工具的其余部分处于相同的审核范围内。该实现仅使用 Web Crypto API,不进行任何网络调用。该政策是可验证的,而不仅仅是声称的。
工作示例 — 在 DevTools 中逐步检查 ToolAcre 生成器,以及空面板可以做什么和不能做什么
验证非常简单,只需不到一分钟的时间。打开浏览器的开发人员工具,切换到网络面板,清除任何现有请求,生成 UUID 并观察面板。如果页面最初尚未完全加载,则除了潜在的静态资源之外,不应出现任何新请求。生成的 UUID 出现在页面的输出区域中,而不是出现在网络响应中。如果您看到对外部域、广告网络或分析服务的请求,则生成器不是本地的。如果您根本没有看到任何请求,则说明生成是在浏览器本地执行的 JavaScript 中发生的。
这不包括您自己的应用程序的遥测,它超出了任何工具的控制范围
一个有效的示例演示了现代浏览器中的验证过程。按 F12 或右键单击并选择“Inspect”以打开 DevTools。单击网络选项卡。重新加载ToolAcre生成器页面并等待其完成加载;您将看到对页面 HTML 本身、CSS 样式表、JavaScript 代码和任何嵌入图像的请求。页面稳定后,在“网络”面板中查找“清除”按钮,然后单击它以清空请求列表。现在通过单击按钮或按 Enter 键生成 UUID。如果实施是本地的,则面板中不会出现新请求。如果是服务器端,您将看到对诸如 /api/generate-uuid 或 https://uuid.example.com/v1/random. 之类的端点的请求
要点:本地是可验证的 - ToolAcre 生成器完全在浏览器中运行,在访问之间不存储任何内容,并且可以在网络面板中检查
ToolAcre 工具旨在通过架构设计来通过此测试。 Web Crypto API 为这种用例提供了 crypto.randomUUID,如果在较旧的浏览器或不安全的上下文中不可用,则 crypto.getRandomValues 提供原始随机字节,该工具可以将其格式化为 UUID。该实现足够短以供审核:生成器调用这些 Web Crypto 方法之一,将结果格式化为 UUID 字符串并显示它。任何步骤都不涉及服务器。这种架构还意味着该工具可以离线工作;页面加载后,您可以断开网络并继续生成 UUID。浏览器的本地加密在没有网络访问的情况下仍然可以完美工作。