密码泄露查询 - k-Anonymity 安全检测
使用范围请求安全地检查密码是否出现在已知数据泄露库中(不发送完整密码)。
UD5工具箱
URL安全的Base64变体 · 适用于JWT、OAuth、URL参数等场景
+ 替换为 -,/ 替换为 _,并省略末尾填充等号,使其可在URL中安全传输。
Base64URL 是 Base64 编码的一种 URL 安全变体,定义于 RFC 4648 第5节。它与标准 Base64 的核心区别在于字符映射和填充策略:
| 特性 | 标准 Base64 | Base64URL |
|---|---|---|
| 第62个字符 | +(加号) | -(减号) |
| 第63个字符 | /(斜杠) | _(下划线) |
| 填充字符 | =(保留) | 通常省略(可选保留) |
| URL安全性 | 需要百分号编码 | 可直接用于URL |
由于 + 在URL中表示空格,/ 是路径分隔符,= 用于键值分隔,因此标准 Base64 在URL中使用时需要进行百分号编码。Base64URL 通过替换这些字符彻底解决了这个问题。
Base64(包括 Base64URL)的原理是将每 3个字节(24位) 的二进制数据映射为 4个ASCII字符。因此编码后的长度大约是原始字节长度的 4/3 ≈ 133.3%,即膨胀约 33%。
例如:原始数据 300 字节 → 编码后约 400 个字符(不含填充)。虽然 Base64URL 省略了末尾的 = 填充,但主体部分的长度膨胀比例不变。
编码:
function base64urlEncode(str) {
// 使用 TextEncoder 处理 Unicode
const bytes = new TextEncoder().encode(str);
const binStr = String.fromCharCode(...bytes);
const b64 = btoa(binStr);
return b64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
}
解码:
function base64urlDecode(b64url) {
// 还原为标准 Base64
let b64 = b64url.replace(/-/g, '+').replace(/_/g, '/');
// 补齐填充等号
while (b64.length % 4) b64 += '=';
const binStr = atob(b64);
const bytes = Uint8Array.from(binStr, c => c.charCodeAt(0));
return new TextDecoder().decode(bytes);
}
💡 本工具的核心逻辑即基于以上实现。
可以省略,且推荐省略。RFC 4648 明确指出,在已知编码数据长度的上下文中,填充等号不是必需的。Base64URL 的设计目标之一就是消除URL中的特殊字符,因此实践中(如JWT)几乎总是省略填充。
解码时,只需在将 Base64URL 还原为标准 Base64 后,根据字符串长度补充等号:
===Base64URL 不是加密,而是编码。它只是一种数据表示形式,将二进制数据转换为可打印的ASCII字符。任何人拿到 Base64URL 字符串都可以直接解码还原原始数据。
如果需要保护数据安全,应该在 Base64URL 编码之前先使用真正的加密算法(如 AES、RSA)进行加密。JWT 中的签名(Signature)部分即是对前两部分签名后的 Base64URL 编码,用于验证数据完整性,而非保密数据内容。
JWT(JSON Web Token)格式为 header.payload.signature,三个部分均由 Base64URL 编码。本工具可以解码任意一个部分:
💡 如果粘贴完整的 JWT(含两个点号),工具会自动检测并提示快速解码 Payload。
使用范围请求安全地检查密码是否出现在已知数据泄露库中(不发送完整密码)。
将非ASCII域名(如中文域名)转换为Punycode格式或还原,理解国际化域名编码机制。
提供多组在各色盲类型下仍可区分的定性、连续配色方案,辅助图表设计。
输入 PlantUML 文本,编码为可嵌入图片的 URL 或解码已有的 PlantUML 链接查看源码。
使用新的Sanitizer API清理可能存在XSS风险的HTML字符串,并安全插入DOM。
粘贴package.json内容,调用公开漏洞API(演示数据)检查依赖安全性,警示高危包。
选择结构类型(Article, Product等),填写字段生成JSON-LD代码,嵌入网页增强搜索结果。
展示Tailwind CSS全套颜色(50-950)的色块,点击复制对应的类名或十六进制值。
填入Payload及密钥,选择HS256/RS256算法生成JWT,并验证已签发Token的签名与过期时间。
展示如何用默认策略将字符串转换为TrustedHTML,并观察禁止直接赋值的安全限制。
从麦克风采集声音,用Web Audio实时改变音高、加速、加回声或机器人效果。
输入目标URL,发送预检请求,分析Access-Control-*头,诊断跨域问题。
在线ROT13编码与解码,字母位移13位,简单经典的单表置换加密,适用于隐藏轻度敏感文本。
使用浏览器SubtleCrypto API实现AES-GCM或AES-CBC加密解密,可设密码短语,全前端安全。
使用新的 Navigation API 拦截导航、管理历史条目,构建类 SPA 体验。
填写标题、文本和URL,触发系统级分享菜单,测试Web Share API功能。
随机生成或手动添加种子点,实时绘制泰森多边形分割区域,可导出为SVG或图片。
在线MD5哈希生成器,输入文本即可快速生成MD5摘要,完全前端计算,不依赖服务器。
使用主密码和WebCrypto AES加密存储账号密码,数据仅存本地,需主密码解锁查看。
观察目标节点的添加、删除、属性变更,日志可视化展示,调试动态DOM的利器。
在线JSON格式化与验证工具,支持JSON压缩美化、语法高亮、错误定位,浏览器本地处理保障数据安全。
解析JSON Web Token,显示Header和Payload内容及签名算法,不验证签名,方便开发调试。
通过DoH或公共API查询域名的A/AAAA/CNAME/MX/TXT记录,显示TTL和详细内容。
请求USB设备并列出接口,发送和接收数据,适用于调试兼容WebUSB的微控制器。
输入名单并设置排除规则(如不能自己抽自己),随机生成保密配对结果,支持邮件密送。
输入域名,调用开放的WHOIS API获取注册信息,返回可用信息片段(需API兼容)。
可选择多种全屏动态特效(气球上升、彩带飘落),用于节日或活动氛围。
展示如何通过强制Trusted Types策略阻止将未清理字符串直接赋给innerHTML。
在线XML格式化工具,支持XML缩进美化、语法高亮、树形结构查看及格式验证,完全在浏览器中处理。
可视化CSS box-shadow生成工具,拖拽调整阴影偏移、模糊、扩散、颜色,实时预览并生成代码。