哈希计算Hash Calculator
一次输入同时计算 MD5 / SHA-1 / SHA-256 / SHA-512,支持文本与本地文件校验,小写 / 大写 / Base64 格式一键切换,UTF-8 中文不乱码,与 md5sum / sha256sum / Get-FileHash 结果一致。下载校验、指纹核对更快。数据全程不上传。
工具介绍
3 段详细说明哈希计算是面向开发者与普通用户的一站式多算法摘要工具。输入文本或选择本地文件,一次同时得到 MD5、SHA-1、SHA-256、SHA-512 四种标准摘要,工具栏一键切换小写 / 大写 / Base64 格式,逐行一键复制。不用在多个单算法工具之间来回切换,核对指纹、校验文件更快。
算法分别基于 RFC 1321(MD5)与 FIPS 180-4(SHA 家族)纯前端实现,完整兼容 UTF-8,中文、emoji 均按字节正确编码,与 Linux md5sum / sha256sum、Windows Get-FileHash 等主流实现结果完全一致。
所有计算都在浏览器内存中完成,文本与文件不上传任何服务器。支持文本实时计算、文件拖拽校验、⌘+↵ 快捷键执行、断网可用,适合下载文件完整性校验、多系统指纹核对、内容一致性验证等高频场景。
基础知识 · 哈希摘要
RFC 1321 · FIPS 180-4哈希函数(Hash Function)是把任意长度输入映射为固定长度摘要的单向函数。理解以下 6 个要点,就能正确、安全地使用它:
digest固定长度摘要one-way单向不可逆avalanche雪崩效应sha256("abc") 与 sha256("abd") 的结果完全不同且无规律,因此能敏感地发现内容被篡改。algorithm算法强度现状file check文件校验为什么认 SHA-256SHA256SUMS。把下载文件拖进本工具,比对摘要一致即可确认下载完整、未被中间人篡改。hex & base64Hex 与 Base64 等价echo -n "abc" | md5sum —— Linux 下验证文本:注意 -n 去掉行尾换行,否则结果不同(多算了一个 \n 字节)。Get-FileHash 文件 -Algorithm SHA256(PowerShell)或 certutil -hashfile 文件 SHA256,结果与本工具 SHA-256 行一致。使用说明
4 步快速入门使用场景
5 个真实案例软件官网一般公布 SHA-256 校验值。把下载的安装包拖进来对比,一眼判断文件是否完整、是否被篡改。
不同系统存的是不同算法摘要:老库 MD5、新库 SHA-256、CDN 用 SHA-1。一次输入同时出四种结果,不用来回换工具。
大文件传输前后各算一次 SHA-512,摘要一致即可确认传输过程没有丢包或损坏。
把长 URL / 长文本压成固定长度指纹(推荐 SHA-256),用作缓存索引、去重标识或内容寻址。
对合同、日志等文本生成多算法摘要留档,后续只需对比摘要即可证明内容未改动。
常见问题
10 个问答哈希(Hash)是什么?和加密有什么区别?
哈希是把任意长度输入压成固定长度「指纹」的单向函数:不可逆、输入稍有不同结果就完全不同。加密是可逆的(拿密钥能解回原文),哈希不能「解密」。所谓「MD5 解密」只是拿彩虹表反查常见短字符串。
MD5 / SHA-1 / SHA-256 / SHA-512 各是多少位?怎么选?
MD5 输出 128 bit(32 个十六进制字符)、SHA-1 160 bit(40 字符)、SHA-256 256 bit(64 字符)、SHA-512 512 bit(128 字符)。文件校验、签名等新场景一律推荐 SHA-256 及以上;MD5 / SHA-1 仅用于和老系统对接。
MD5 和 SHA-1 还安全吗?
作为完整性校验仍在使用,但两者都已被证明存在碰撞攻击(SHA-1 已于 2017 年被实测碰撞),不建议用于签名、证书或密码存储。新项目请用 SHA-256 / SHA-512,密码存储用 bcrypt / scrypt / argon2 等慢哈希。
我的文本或文件会上传到服务器吗?
不会。所有计算完全在浏览器内存中完成,文件通过 FileReader / arrayBuffer 本地读取,不上传任何服务器。可断网使用,关闭网络后再打开仍能正常计算。
文件模式支持多大的文件?
文件需整体读入内存后计算,建议 ≤ 100 MB(毫秒到秒级完成)。更大的 ISO / 视频文件建议用本地命令行:Windows certutil 或 Get-FileHash,Linux / macOS 用 md5sum / sha256sum。
同样内容,我算的哈希和别人不一样?
大概率是编码或字节差异:文本请确认双方都是 UTF-8(本工具按 UTF-8 字节计算,GBK 编码的中文结果不同);文件请确认内容完全一致(是否带 BOM、是否被编辑器改动过行尾换行)。
大写、小写、Base64 三种格式什么关系?
三者内容完全等价,只是编码表示不同:小写 Hex 是标准输出(md5sum / sha256sum 风格),大写常见于 Windows 工具,Base64 是原始摘要字节的另一种文本表示(常用于 LDAP / HTTP Digest 场景)。切换格式不会重新计算,直接复制目标系统要求的风格即可。
为什么同样的文本,这里和某个在线工具结果不同?
检查三点:① 对方是否按 UTF-8 计算(部分工具按 UTF-16 或本地编码);② 文本是否多了首尾空格或行尾换行(差一个字节结果完全不同);③ 对方是否混淆了算法(如把 SHA-1 标成 MD5)。可用本工具示例文本交叉验证。
能对加密的文件(如 zip 压缩包)计算哈希吗?
可以。哈希只关心字节,不关心内容含义,任何文件(图片、视频、安装包、加密压缩包)都能算。注意:压缩包重新打包(哪怕内容没变)字节就会变化,摘要随之不同。
结果可以一键复制吗?
可以。输出区每行右侧有独立复制按钮;点底部「复制全部」按钮一次复制四行「算法名: 摘要」,方便直接贴进工单或文档。
相关工具
编码加密分类数据来源
隐私优先RFC 1321 实现(MD5 不在浏览器 Web Crypto API 支持范围内),SHA-1 / SHA-256 / SHA-512 严格按 FIPS 180-4 纯 TypeScript 实现,零第三方依赖、无 WASM。文本经 TextEncoder 按 UTF-8 编码后逐字节计算,文件经 File.arrayBuffer() 本地读取,中文 / emoji 不乱码,与 md5sum、sha256sum、Get-FileHash 等主流实现结果一致。