返回开发工具
哈希计算器
隐私优先的哈希工具:支持 MD5 / SHA-1/256/384/512 / SHA-3 / Keccak-256 / CRC-32 共 9 种算法,文本与最大 4 GB 文件流式处理,内置 HMAC、Verify、安全等级标识,完全在浏览器内运行。
零上传。所有哈希在本地计算。
输出格式
输入编码
0 字节
MD5已破解
—SHA-1已破解
—SHA-256安全
—SHA-384安全
—SHA-512安全
—SHA3-256安全
—SHA3-512安全
—Keccak-256安全
—CRC-32校验和
—›展示雪崩效应
改动 1 bit → 输出 bit 几乎全变。
- SHA-256("vectobox")
- 1b80cd1495691f628778309bc95b404421f4379213e6a628478deb5debba8d02
- SHA-256("vectobox!") — 58/64 chars different
- 058526f63d4e965c9aafccc7b81e9efece1e52885c89a1f327066a50e8acce06
最近0
暂无历史。
9 种算法,一份输入
输入或拖入文本,你会同屏实时看到 MD5、SHA-1、SHA-256、SHA-384、SHA-512、SHA3-256、SHA3-512、Keccak-256 和 CRC-32 的结果。切到 File mode,同样 9 种算法对最大 4 GB 文件流式增量计算,全程在浏览器内。
在浏览器内流式处理 4 GB 文件
我们将文件切成 64 KB 块,在 Web Worker 内对每个块逐一更新所有 hasher。内存常量、主线程零阻塞、零上传 — 字节从不离开你的设备。
SHA3-256 vs Keccak-256 — 选对算法
两者都使用 Keccak-f[1600] permutation。NIST 在 2015 标准化 SHA-3 时改了 domain-separation 字节(0x06 而非 0x01)。以太坊在标准化前就部署了原始 Keccak 并沿用至今 — 用 SHA3-256 处理以太坊数据会得到错误结果。
一段话讲清 HMAC
HMAC = Hash-based Message Authentication Code。把一个秘密密钥与哈希函数组合,只有持有密钥的人才能产生该指纹。AWS SigV4、GitHub webhook、Stripe 签名、JWT HS256 都使用 HMAC-SHA-256。其构造 `hash(opad ‖ hash(ipad ‖ msg))` 来自 RFC 2104。
常见问题
- 我的文件或文本会被上传吗?
- 不会。所有计算在浏览器内通过 Web Crypto 与自写 MD5 / SHA-3 / Keccak / CRC-32 完成,任何网络请求都不会携带你的数据。
- 为什么 File mode 支持 4 GB?
- 我们将文件切成 64 KB 块在 Web Worker 内增量计算。内存常量,主线程不阻塞。
- SHA3-256 和 Keccak-256 有什么区别?
- 两者都使用 Keccak permutation,但 padding 不同。NIST 在标准化 SHA-3 时换了 suffix byte。以太坊在变更前就上线了并保留了原始 Keccak — 用 SHA3-256 处理以太坊数据会得到错误结果。
- MD5 还能用吗?
- 仅可用于非安全的校验场景(文件去重、分区键)。涉及密码、签名、对抗攻击者的完整性,请用 SHA-256 或更高。
- 什么是 HMAC?
- Hash-based Message Authentication Code — 把密钥与哈希组合,接收方可同时验证完整性与真实性。AWS SigV4、GitHub webhook、JWT HS256、Stripe 签名都用 HMAC。
- 什么是「常数时间比较」?
- 朴素的 `a === b` 在第一个不同字节处短路返回。攻击者通过测量响应时间可逐字节恢复前缀。常数时间相等性始终读完所有字节。
- 应该选哪种输入编码?
- 对文本而言 UTF-8 是正解。当输入本身就是已编码字节时(如原始区块链数据、JWT body 解码后)使用 Hex 或 Base64。
- 为什么没有 Argon2 / bcrypt?
- 那是密码哈希算法,各自有特殊取舍(memory-hardness、salt、work factor)。它们值得一个专属工具 — 之后会推出。

