Tools100% 本地
← 返回工具列表

关于这些工具

每个工具的功能与适用场景

这些工具是为开发者、运维和安全人员每天数次会用到的场景而生:解码 API 返回的令牌、快速生成 UUID、再次确认正则、为下载文件计算哈希。所有运算均在浏览器内通过原生 Web Crypto 与标准 DOM API 完成 — 你粘贴、输入或拖入的任何内容都不会离开你的设备。

Base64

将纯文本编码为 Base64(RFC 4648)或反向解码。解码是默认方向,因为日常工作中更常见。当你检查 data: URL、剖析 Authorization 头中的 JWT 段、阅读别人在 Slack 中粘贴的令牌,或解开藏在环境变量里的密钥时,都会用到 Base64 解码。需要把二进制安全文本嵌入到 URL 或 JSON 字段时,则使用编码。两个方向都正确处理 Unicode(UTF-8)。

TOTP & HOTP — 一次性密码生成器

打开 TOTP / HOTP 独立页 →

给定 Base32 编码的共享密钥,生成与认证应用相同的验证码。本工具同时实现 RFC 6238(基于时间的 TOTP)与 RFC 4226(基于计数器的 HOTP),并暴露真实部署中常用的全部选项:HMAC-SHA1 / SHA-256 / SHA-512,6 / 7 / 8 位数字,30 / 60 秒窗口,以及显式的 HOTP 计数器。兼容 Google Authenticator、1Password、Authy、FreeOTP 等任何符合 RFC 的客户端。

粘贴 otpauth:// URI,所有选项会从 URI 参数自动填充 — 当你从侧信道收到一个 URI 想在导入前先检查时很有用。反过来,生成 QR 码 操作会把当前配置交给 QR 标签页,这样你就能直接扫到手机的认证器中。前一个与后一个窗口的验证码也会显示出来,以应对验证服务器时钟漂移的情况。

二维码生成器

打开二维码独立页 →

按照 ISO/IEC 18004 把任何文本或 URL 渲染成二维码。这里最常见的实际用途是把 otpauth:// URI 转换为可扫码的图像,以便交给基于手机的认证器,但它适用于任何短文本 — Wi-Fi 凭据、联系人卡片、一次性 URL。可选纠错级别 L / M / Q / H — 等级越高越能抵御污渍与折叠,但会产生更密集的码图。结果可下载为矢量 SVG(任意缩放都清晰)或 PNG。

URL 编码 / 解码

按 RFC 3986 进行百分号编码与解码。解码是默认方向,因为更常见的场景是"在日志里看到这个编码 URL,需要把它读出来"。提供两种范围:组件把输入当作单个值,对所有非字母数字字符都进行编码 — 用于查询参数值的严格模式;完整 URL保留 URL 结构字符(:/?#[]),让完整 URL 仍然可点击。处理查询字符串值或路径段时用组件,处理整段 URL 时用完整 URL。

JSON 格式化

验证、美化或压缩 JSON(ECMA-404)。输入无效时,语法错误的精确行列会被高亮,可直接跳到出错字符。美化器支持 2 空格、4 空格与 Tab 缩进。当你刚从 API 收到未格式化的数据块、需要查看深层嵌套的响应,或在嵌入构建产物前需要压缩时都很有用。

JWT 解码与验证

打开 JWT 独立页 →

解码并查看 JSON Web Token(RFC 7519)。令牌被拆为三段 Base64 编码部分(头部、载荷、签名),每段 JSON 内容都会被美化。标准时间声明 — iatnbfexp — 会以人类可读的时间戳呈现,并在令牌处于有效期内时显示实时倒计时。

验证签名框中粘贴密钥,加密校验便会通过浏览器的 Web Crypto API 在本地完成。支持的算法族:HS256/HS384/HS512 使用共享密钥;RS256/RS384/RS512PS256/PS384/PS512 使用 PEM SPKI 格式的 RSA 公钥;ES256/ES384/ES512 使用 P-256 / P-384 / P-521 上的 EC 公钥。密钥仅在内存中保留以执行验证 — 不会被发送到服务器、写入存储或记录到日志。

哈希

计算密码学哈希(FIPS 180-4):SHA-1、SHA-256、SHA-384 与 SHA-512。拖入文件或粘贴文本;摘要由浏览器原生 Web Crypto 实现 crypto.subtle.digest 在本地计算。可用于核对下载文件与发布的校验和、生成内容寻址存储的指纹,或在进一步处理之前进行快速完整性检查。

Hex

在文本与十六进制字节序列间互转。解码是默认方向 — 粘贴十六进制(字节之间是否有分隔符均可)即可读回为文本。可用于阅读 hex dump、调试二进制协议,或处理还没有可读形式但已有原始字节的低层编码。编码时,分隔符选项可在空格分隔、冒号分隔与连续输出之间切换。

HTML 实体

编码与解码 HTML 实体。解码是默认方向 — 粘贴充满 <&" 等的内容,即可读回原始字符。编码模式产生 HTML 安全的输出,适合在页面中嵌入用户提供的文本。输入下方的参考网格列出了常用实体,如果只需要一两个可单独点击复制。

正则测试

测试 JavaScript 风格的正则表达式(ECMA-262)。输入模式、切换标志(g 全局、i 忽略大小写、m 多行、s 点匹配换行),即可在测试文本中实时高亮匹配。捕获组用不同颜色标识;完整匹配列表与各组内容显示在下方。适合在把模式粘贴到代码之前先做原型、调试为何正则未按预期匹配,或交互式地学习正则语法。

文本对比

对比两段文本并按行显示差异 — 新增标绿,删除标红。可用于发现两份配置、两个 API 响应、两段日志摘录之间的差异 — 任何需要并排对比的内容都行。汇总行展示总数,让你一眼看到新增与删除的行数。

颜色

把颜色粘贴为 HEX、rgb()hsl(),即可并排查看四种标准 CSS 形式 — HEX、RGB、HSL,以及感知均匀的 OKLCH(CSS 颜色模块第 4 级)。OKLCH 仅作为输出展示,生成主题调色板或希望颜色亮度在不同色相下保持视觉一致时尤为方便。

UUID 生成器

生成密码学随机的 UUID(RFC 4122 v4) — 数据库、分布式系统、队列 ID 与 API 中常用的 128 位标识符。随机字节来自 crypto.getRandomValues。生成器下方还有一个验证器,告诉你粘贴的 UUID 是否格式正确以及它声称属于 RFC 4122 的哪个版本(v1 至 v5)。

密码生成器

生成符合 NIST SP 800-63B 指导的密码学随机密码。选择长度并选定要包含的字符类(小写、大写、数字、符号);随设置实时更新熵值估算。随机源为 crypto.getRandomValues,与现代浏览器用于 TLS 相关操作的密码学安全 RNG 相同。当你需要为账号或服务生成全新强密码,而不想依赖密码管理器的默认设置时很有用。

随机数生成器

打开随机数独立页 →

从浏览器的 crypto.getRandomValues 中抽取密码学随机的整数或小数。本页通过拒绝采样得到均匀分布,因此没有取模偏差 — Math.random() 虽然快但确定性强,缩放到任意范围时也会有微小的非均匀性。可配置:范围(正、负或混合)、一次抽取数量(最多 10000)、整数或小数模式(0–15 位精度)、唯一模式(使用部分 Fisher–Yates 洗牌保证公平)、排序方式,以及输出分隔符(换行、逗号、空格、JSON 数组、CSV 行)。提供掷骰、彩票抽奖、百分比、随机字节、0–1 小数等快捷预设。

抛硬币

打开抛硬币独立页 →

一个真正带 3D 动画的抛硬币。结果由 crypto.getRandomValues 抽取的一个比特硬币开始旋转之前就已决定,所以投掷只是装饰,结果可证明为 50 / 50。可自定义两面的标签(用 是 / 否留 / 走 或任何二元组),设置每次抛掷的批量从 1 到 1000,选择从瞬间的动画速度,看正/反面的百分比随你抛掷而收敛。会话日志展示完整历史并跟踪最长连续同面记录 — 用来亲眼证实十连或更长的同面连击确实会按预期概率出现。

Unix 时间

在 Unix 时间戳(POSIX.1 — 自 1970-01-01 UTC 起的秒数)与可读日期之间互转。顶部的实时时间戳取自你设备的当前时间(Date.now());不查询任何时钟服务。在第二列选择日期可看到对应时间戳;在第一列粘贴时间戳可看到 UTC、本地时间以及人类相对形式("2 小时前")。读日志、调试时间相关代码,或单纯想知道 1714363200 究竟是什么时候时都很有用。

一切的工作原理

所有运算都在你的浏览器本地完成。哈希、HMAC、随机数生成、Base 编码、正则匹配、字体渲染 — 全都是。本站不加载任何第三方脚本、统计或广告框架。首次加载之后,唯一的网络请求是页面静态资源本身(HTML、CSS、JS、字体、图标),且只在第一次访问时发生 — 之后由 Service Worker 离线提供。

你粘贴、输入或拖入的任何内容都不会被发送或存储到浏览器标签页之外。唯一持久化的状态只有几项用户偏好(主题、配色、动画开关),保存在 localStorage 中。完整版本请查阅隐私政策

联系方式

有问题、bug 报告,或想要新增工具的建议?请联系 [email protected]