哈希生成器与编码工具是 Aibrify 提供的免费浏览器端加密工具,无需将数据上传到任何服务器即可生成 MD5、SHA-256、SHA-512 哈希值并编解码 Base64、URL、HTML 实体和 JWT 令牌。专为需要快速、隐私优先的哈希和编码工具的开发者和营销人员打造。
了解加密哈希函数
加密哈希函数接受任何输入并产生一个固定大小的输出(哈希值或摘要),该输出对于该输入是唯一的。即使输入中有一个字符的变化,也会产生完全不同的哈希值。这种特性称为雪崩效应,使哈希函数对于数据完整性验证、数字签名和密码存储至关重要。
我们的免费哈希生成器支持五种算法:MD5(128位)、SHA-1(160位)、SHA-256(256位)、SHA-384(384位)和 SHA-512(512位)。所有 SHA 哈希均使用浏览器原生的 crypto.subtle API 计算,以获得最佳性能和安全性。
何时使用每种哈希算法
- MD5 —— 速度快但在密码学上已被破解。仅用于非安全校验和(文件去重、缓存键)。永远不要用于密码或安全场景。
- SHA-1 —— 自 2017 年起已弃用于安全用途。已证明存在碰撞(SHAttered 攻击)。仅用于遗留兼容性。
- SHA-256 —— 最广泛使用的安全哈希。用于 SSL/TLS 证书、比特币、Git 提交和代码签名。推荐用于大多数应用。
- SHA-384 —— SHA-512 的截断版本。用于某些 TLS 密码套件和政府标准(FIPS 180-4)。
- SHA-512 —— SHA-2 系列中最强的哈希。追求最大安全性时首选,在 64 位处理器上比 SHA-256 略快。
Base64 编码详解
Base64 是一种二进制到文本的编码方案,使用 64 个可打印的 ASCII 字符表示二进制数据。每 3 字节输入变为 4 个 Base64 字符,使输出比输入大约增加 33%。常见用例包括:
- Data URI —— 直接在 HTML 或 CSS 中嵌入图像,无需单独的 HTTP 请求。
- 邮件附件 —— MIME 编码使用 Base64 通过基于文本的邮件协议传输二进制文件。
- API 载荷 —— 在 JSON 或 XML API 请求中发送二进制数据(图像、文件)。
- JWT 令牌 —— JWT 的头部和载荷都是 Base64URL 编码的。
URL 编码最佳实践
URL 编码确保特殊字符在 URL 中安全传输。关键规则是:
- 保留字符(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)在 URL 中有特殊含义,用作数据时必须编码。
- 不安全字符(空格、<、>、{、}、|、\、^、~、`)应始终编码。
- 非保留字符(A-Z、a-z、0-9、-、_、.、~)永远不需要编码。
- 对单个查询参数值使用
encodeURIComponent()。对要保留 URL 结构的完整 URL 使用encodeURI()。
JWT 令牌结构与安全
JSON Web Token 由三个由点分隔的 Base64URL 编码部分组成:xxxxx.yyyyy.zzzzz。头部指定签名算法(如 HS256、RS256)。载荷包含声明——标准声明如 exp(过期时间)、iat(签发时间)、sub(主题),以及自定义声明如用户角色或权限。签名是通过使用密钥对头部和载荷进行哈希来创建的。
重要提示:JWT 默认未加密。载荷仅经过 Base64 编码,任何人都可以读取。永远不要在 JWT 载荷中存储敏感数据(密码、信用卡号)。如果需要载荷保密性,请使用 JWE(JSON Web Encryption)。