什么是哈希计算(MD5 / SHA)?
哈希计算工具对输入文本生成 MD5、SHA-1、SHA-256、SHA-384、SHA-512 摘要,用于校验文件一致性或比对签名。计算使用浏览器原生 Web Crypto,输入内容不会离开本机。
怎么用哈希计算(MD5 / SHA)?
- 1输入要计算摘要的文本。
- 2查看各算法的十六进制结果,可单独复制其中一行。
- 3与对方给出的摘要逐字符比对,注意大小写不影响判断。
- 4需要带密钥的签名时改用 HMAC 工具。
在代码里怎么实现?
一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。
JavaScript
Shell
Python
const sha256 = async (text) => {
const buf = await crypto.subtle.digest(
'SHA-256',
new TextEncoder().encode(text),
);
return [...new Uint8Array(buf)]
.map((b) => b.toString(16).padStart(2, '0'))
.join('');
};常见错误与排查
| 现象 | 成因 | 修复 |
|---|---|---|
| 命令行结果和工具结果不一致 | echo 默认在末尾追加换行符,多了一个字节。 | 使用 echo -n 或 printf 去掉尾部换行。 |
| 中文内容摘要与后端不一致 | 两端使用的字符编码不同(UTF-8 与 GBK)。 | 统一按 UTF-8 编码后再计算。 |
常见问题
MD5 还能用吗?+
只能用于非安全场景的一致性校验,例如比对文件是否传输完整。MD5 与 SHA-1 都已被证明可构造碰撞,不可用于密码存储、数字签名或任何安全边界判断,密码存储应使用 bcrypt、scrypt 或 Argon2。
哈希能被还原成原文吗?+
哈希是单向的,无法逆运算。但对于短文本或常见密码,攻击者可以用彩虹表反查,所以对密码做哈希时必须加随机盐,并使用专为密码设计的慢哈希算法。
相关工具
全部工具Base64 编码 / 解码
Base64 Encoder & Decoder
Base64 编码与解码,支持 UTF-8 与 URL-safe
文件 Base64 转换
File to Base64
文件转 Base64 与 Data URI,文件不上传
URL 编码 / 解码
URL Encoder & Decoder
URL 编码解码,区分整串与参数两种语义
HTML 实体转义 / 反转义
HTML Entity Encoder
HTML 实体转义与反转义
Hex 与文本互转
Hex to Text Converter
文本与十六进制互转,支持多种分隔风格
Unicode 转义 / 还原
Unicode Escape Converter
Unicode 转义与还原,支持三种写法