返回开发工具

哈希计算器

隐私优先的哈希工具:支持 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)。它们值得一个专属工具 — 之后会推出。

相关工具