在线工具

工具箱 › 开发 › 哈希计算

哈希计算

在线哈希计算工具,输入文本或选择文件即可同时得到 MD5、SHA-1、SHA-256、SHA-384、SHA-512 摘要,支持大写输出与一键复制,用于文件一致性校验。全部在本机浏览器完成。

一次算五种,各是什么来头

输入文本或拖入文件,MD5、SHA-1、SHA-256、SHA-384、SHA-512 五个结果同时给出,每张卡片右侧一个复制按钮,也可以「复制全部」拿走带算法名的清单。

实现上有区别:MD5 和 SHA-1 是页面自带的纯 JavaScript 实现(按 RFC 1321 等规范写的),因为浏览器内置的 WebCrypto 已经不再提供 MD5;SHA-2 系列则直接调用 crypto.subtle.digest,走浏览器原生实现,更快也更可靠。

文本和文件是两条路

文本先按 UTF-8 编码成字节再算 —— 这一点很关键,中文在不同编码下摘要完全不同,页面统一按 UTF-8 处理。

文件按类型分流:纯文本类(看扩展名和 MIME)读成文本塞进输入框方便核对,其他一律按二进制 ArrayBuffer 计算,不会把二进制乱码倒进输入框。文件上限 20MB,超了会直接提示改用命令行,不硬算。

MD5 还能用吗

校验文件完整性、做去重键、生成缓存 key 这些场景,MD5 依然够用 —— 它的用途是「发现非恶意的改动」,不是防攻击。

但凡涉及安全就不能用:MD5 的碰撞攻击早就是公开可用的手段,SHA-1 也已出现实际碰撞案例。密码存储、签名、证书请一律走 SHA-256 及以上,并且密码还要配合加盐与慢哈希(bcrypt、Argon2),单纯 SHA-256 也不合格。

校验下载文件的正确姿势

下载站给出的通常是一串 SHA-256。把文件拖进来,把页面里 SHA-256 那一行和官方字符串逐字符比对 —— 只要有一位不同,这个文件就不该运行。

注意大小写:摘要本身不分大小写,页面默认输出小写,勾「大写输出」可以切换,比对时以官方给出的形式为准,两边统一即可。

文件不上传,计算在本地

无论文本还是文件,摘要都在浏览器里算完,没有任何网络请求。安装包、合同扫描件、含个人信息的文件都可以直接拖进来核对,不必担心内容外传。

一个前提:SHA-2 那三项依赖 WebCrypto,它需要 https 环境。如果用 http 打开本站,这三项会明确报错而不是给出错误结果,MD5 和 SHA-1 不受影响。

不提供的东西

不做 HMAC、不加盐、不支持 SHA-3 和 BLAKE3,也不能一次拖多个文件做批量比对 —— 这些都属于命令行工具或专业软件的范畴。

常见问题

同一个文件在不同工具里算出的 MD5 不一样,为什么?

多半是文本编码或换行差异。本页对文本统一按 UTF-8 编码,文件按二进制原样读取,命令行工具在 Windows 上若发生换行转换结果就会不同。

文件最大能算多大?

20MB。超过会提示改用命令行,浏览器处理更大的文件容易卡死或无响应。

为什么 SHA-256 有时显示错误?

SHA-2 走浏览器 WebCrypto,它要求 https 安全环境。用 http 访问时会明确报错,不会给出错误摘要。