Tools
← 返回工具列表

关于这些工具

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

这些工具是为开发者、运维和安全人员每天数次会用到的场景而生:解码 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 究竟是什么时候时都很有用。

保存与同步设置

把你的设置导出成一个链接,再在另一台设备 — 或另一个账号 — 中导入,也可当作快速备份。链接会打包本站记住的全部内容:配色主题(亮 / 暗 / 自动模式、调色板与动画设置)、界面语言、标签栏排列、临时文件分享历史,以及剪贴板标签页保存的片段。后两项是真实内容而非单纯偏好,所以请像对待任何可分享的上传那样对待这个链接;但你在其他工具里解码或生成的任何内容都不包含在内。

在主工具页打开主题面板,选择生成同步链接。你的偏好会被打包成一个很小的 JSON 文件,通过本站别处也在用的临时文件分享上传,并生成一个有效期最长 3 小时的链接。点击链接即可复制。

在另一台设备上,把链接粘贴到从链接恢复处,选择应用并刷新。导入的偏好会覆盖当前所有设置,页面随即刷新,必要时还会切换到所保存的语言。导入与导出在登录与未登录状态下都能用 — 所以同一个链接既能把你的配置带到新设备,也能把一个账号的配置复制到另一个账号。

状态指示灯

在主页顶部 Tools 标题旁、拼成一个正方形的两个小矩形是状态指示灯。它们只是视觉提示 — 不管显示什么,工具本身都照常工作 — 让你能一眼看出本站当前的健康状态。

左侧一格以主题强调色按你浏览器到我方边缘的往返延迟节奏呼吸:呼吸慢说明连接顺畅,呼吸快说明路径拥塞。测量方式是一个对 /robots.txt 的同源 HEAD 请求 — 不联系任何第三方,也不做任何记录。如果你的设备离线,这格灯会变灰并冻结;连接恢复的一刻它会立即重新点亮。

右侧一格反映临时文件分享 9 GiB 配额的存储状态,每隔几分钟从一个轻量的 /api/status 接口轮询一次。随存量增加颜色逐级变化:剩余超过 80% 时显示蓝色;剩余 40%–80% 时绿色;剩余 20%–40% 时黄色;剩余不足 20% 时橙色红色表示上传已暂停,要么是配额已耗尽,要么是你的 IP 因滥用被临时封禁。右侧灯在蓝色与绿色时常亮不动,黄色与橙色时跳动,红色时常亮。

两条灯只会在系统报告减弱动态效果时冻结(保持点亮,不熄灭);若你在主题面板显式开启动画,则会覆盖系统偏好,照常动态显示。

一切的工作原理

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

除五个需主动使用的例外——临时文件分享、汇率换算、钱包/ENS 查询、Gas 追踪、股票行情——你粘贴、输入或拖入的任何内容都不会离开你的浏览器。这五者也只会请求我们自己的域名,浏览器侧绝不接触第三方;再由我们的服务器代为读取公开的行情、汇率或链上数据(文件分享与钱包还会用到你提供的文件或地址)。唯一持久化的状态只有几项用户偏好(主题、配色、动画开关),保存在 localStorage 中。完整版本请查阅隐私政策

开源声明

连续曲率/平滑圆角渲染使用 Lisse@lisse/core),该库以 MIT License 授权:Copyright (c) 2026 Jace Attard

Lisse MIT 许可全文
MIT License

Copyright (c) 2026 Jace Attard

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

联系方式

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