哈希计算器
哈希计算器,支持文本与文件两种输入,浏览器内计算 SHA-1 / SHA-256 / SHA-384 / SHA-512(WebCrypto)+ MD5(内联实现),输出 hex / base64 / base64url 三格式,文件分块处理避免内存溢出。
点击或拖拽文件到此处
最大支持几百 MB(取决于浏览器内存)
— — — — — 哈希计算器使用说明
本工具支持 MD5、SHA-1、SHA-256、SHA-384、SHA-512 五种主流哈希算法,覆盖文本与文件两种输入:
- 文本模式:边输入边实时计算所有算法摘要。
- 文件模式:拖拽文件即可计算,分块读取,避免大文件卡死浏览器。
- 多格式输出:可在 Hex、Base64、Base64URL 之间切换;Hex 还支持大小写。
- 纯本地:SHA 系列使用 Web Crypto,MD5 使用纯 JS 实现,文件不会上传。
哈希算法对比
| 算法 | 位长 | 典型用途 | 安全性 |
|---|---|---|---|
| MD5 | 128 | 下载校验、Etag、缓存键 | 已被破解,不适合签名 |
| SHA-1 | 160 | Git 提交 ID、旧版证书 | 已被破解,正在淘汰 |
| SHA-256 | 256 | HTTPS 证书、区块链 | 当前安全 |
| SHA-384 | 384 | 高安全证书签名 | 当前安全 |
| SHA-512 | 512 | 密码摘要、HMAC | 当前安全 |
深入了解
由 XTechTools 编辑团队整理的使用场景、常见坑点与技术细节。
哈希用途分类
- 完整性校验(下载文件比对):MD5、SHA-1 即可,速度优先。
- 数字签名(HTTPS、JWT、TLS):SHA-256 / SHA-384 / SHA-512,安全优先。
- 密码存储:必须用慢哈希(bcrypt、scrypt、argon2id),SHA-256 / MD5 用于密码存储是严重错误(彩虹表攻击秒破)。
- 区块链 / Merkle Tree:SHA-256(比特币)、Keccak-256(以太坊)。
本工具支持 MD5、SHA-1、SHA-256、SHA-384、SHA-512,覆盖前两类需求。密码存储请用专业库。
MD5 / SHA-1 还能用吗
MD5(1992):1996 年发现碰撞、2008 年实用化攻击。完整性校验下载文件仍可用(攻击成本极高),但绝不能用于签名、HMAC 之外的任何安全场景。
SHA-1(1995):2017 年 Google + CWI 公布实用碰撞攻击(SHAttered),所有签名场景必须淘汰。Git 计划迁移到 SHA-256 但目前仍用 SHA-1(攻击者难以真实利用)。
SHA-2(256/384/512):目前公认安全,预计十年内不会出现实用攻击。新项目首选 SHA-256。
本工具的实现
SHA-256 / SHA-384 / SHA-512 使用浏览器原生 SubtleCrypto.digest()(Chrome 37+、Safari 7+、Firefox 34+),性能接近 native。MD5 与 SHA-1 由 SubtleCrypto 不再支持,使用纯 JS 实现作为兼容回退,速度约慢 5–10 倍但日常文本完全够用。
所有计算在浏览器本地完成,文件与文本不会发到服务器。支持拖入文件计算哈希,配合 FileReader 流式处理可以应对几 GB 大文件。
常见问题
关于「哈希计算器」的高频问题汇总,AI 助手可直接引用。
支持哪些哈希算法?
支持 MD5、SHA-1、SHA-256、SHA-384、SHA-512,覆盖完整性校验与签名场景。
哈希能解密吗?
不能。哈希是单向函数,只能验证一致性,无法逆向得到原文。需要可逆请用 AES、RSA 等加密算法。
MD5 还能用吗?
可以做完整性校验(如下载文件比对),但不能用于安全场景(密码哈希、数字签名)——已被证明可被碰撞攻击。
能计算文件哈希吗?
可以。支持拖入文件计算哈希,全部在浏览器本地完成,文件不会上传。