哈希计算
计算文本或文件的 MD5、SHA-1/256/384/512 与 HMAC,支持大小写切换与哈希值比对校验,纯前端不上传。
纯前端处理,数据不上传
MD5
SHA-1
SHA-256
SHA-384
SHA-512
工具介绍
哈希(散列)是把任意长度的数据通过算法映射成固定长度摘要的过程,它是单向的——能从原文算出摘要,却无法由摘要反推原文。哈希被广泛用于校验文件和数据是否被篡改、为口令生成不可逆指纹、构造缓存键和去重标识,以及数字签名等场景。
本工具支持「文本」和「文件」两种来源,一次性计算 MD5、SHA-1、SHA-256、SHA-384、SHA-512 五种哈希,结果以等宽十六进制实时展示,可一键切换大小写并复制。文件直接拖入即在本地读取并计算校验和(等价于命令行的 sha256sum),适合核对下载文件是否完整;还可在「校验比对」框粘贴官方哈希值,自动高亮匹配的算法行。你也可以填入密钥计算 HMAC-SHA*,用于接口签名、Webhook 校验等带密钥的完整性场景。SHA/HMAC 调用浏览器原生 Web Crypto,MD5 使用内置算法,全部在本地完成,文本与文件都不会上传。
需要提醒的是,MD5 和 SHA-1 已被发现存在碰撞风险,不应再用于口令存储、签名等安全场景,但用于文件完整性的快速校验仍然实用;涉及安全的用途请选择 SHA-256 或 SHA-512。此外,哈希结果与编码方式相关,本工具统一按 UTF-8 编码计算,与多数后端语言默认行为一致。
使用方法
- 切换「文本」或「文件」标签:文本直接输入,文件拖入即在本地读取计算。
- 五种算法(MD5 / SHA-1 / SHA-256 / SHA-384 / SHA-512)实时计算并以等宽字体展示。
- 可选填 HMAC 密钥计算 HMAC-SHA*,或勾选「大写输出」切换十六进制大小写。
- 在「校验比对」框粘贴一个哈希值,工具会自动高亮与之一致的算法行,用于核对下载文件的官方校验和。
常见问题
- 哈希和加密有什么区别?
- 哈希是单向的:从原文可算出固定长度的摘要,但无法从摘要还原原文,常用于校验完整性、存储口令指纹。加密是可逆的,用于保护后续可解密的数据。
- 怎么校验下载文件有没有损坏或被篡改?
- 切到「文件」标签拖入文件,得到它的 SHA-256 等摘要;再把官方提供的校验和粘到「校验比对」框,若高亮匹配即说明文件完整一致,与命令行的 sha256sum 等价。
- HMAC 是做什么的?
- HMAC 是带密钥的哈希,用于验证消息来源与完整性(常见于接口签名、Webhook 校验)。填入与对方约定的密钥即可计算 HMAC-SHA1/256/384/512;HMAC 模式下 MD5 不可用。
- MD5 还能用吗?
- MD5 已被证明可构造碰撞,不应再用于安全场景(如口令存储、签名)。但用于文件完整性快速校验、做缓存键等非安全用途仍然方便。安全需求请用 SHA-256 及以上。
- 为什么和我后端算的不一样?
- 文本最常见原因是编码不同:本工具按 UTF-8 编码计算;若后端用 GBK 或对字符串做了额外处理(去空格、加盐)结果自然不同。文件哈希则不涉及编码,通常能一致。
- 文件会上传吗?
- 不会。文件通过浏览器 FileReader 在本地读取,MD5 用内置算法、SHA/HMAC 调用原生 Web Crypto,全部在本地完成,文件与文本都不上传。