工具介绍
哈希函数把任意输入转换成固定长度的十六进制字符串,也叫"摘要"。相同输入永远得到相同摘要,哪怕只改一个字符,结果也会完全不同。这个工具在同一段输入上同时运行五种常用算法——MD5、SHA-1、SHA-256、SHA-384、SHA-512,方便你对比或直接拿走需要的那个。
这些摘要都是单向的:从数学上讲,无法从哈希值反推出原始文本。网上所谓的"哈希解密"其实是一种查表操作——网站只是在比对你的哈希值是否落在他们预先算好的、包含数十亿常见密码和短语的哈希表里。如果你的输入不在那张表里,就永远查不到,因为根本不存在能把哈希值还原成原文的反向函数。
为什么使用它?
- 一次算出五种哈希算法,不用在多个工具之间来回切换。
- 把算出的 MD5、SHA-1 或 SHA-256 与官方公布的值对比,验证文件完整性。
- 对需要更长输出的场景,生成安全性更高的 SHA-384 或 SHA-512 摘要。
- 基于任意文本生成确定性的 ID 或缓存键。
- 100% 本地计算:文本不会离开浏览器,处理敏感内容也放心。
使用方法
- 在输入框中输入或粘贴文本。
- 点击"计算"。
- 查看 MD5、SHA-1、SHA-256、SHA-384、SHA-512 的结果(如果目标系统要求大写,勾选"大写输出")。
- 点击你需要的哈希旁边的"复制"。
示例
输入
hello输出
MD5: 5d41402abc4b2a76b9719d911017c592
SHA-1: aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824哈希是确定性的:"hello"在任何工具上、任何时候计算出的都是这几个完全相同的值。
只需要 MD5?
如果你只想快速算个 MD5 校验和,不想被另外四种算法的结果占用视线,我们的单算法专用工具页面更简洁,扫一眼就能拿到结果。
→ MD5 生成器
五种算法对比
五种都是单向哈希函数,但输出长度和安全强度各不相同。
| 算法 | 输出长度 | 安全状态 | 典型用途 |
|---|---|---|---|
| MD5 | 128位(32个十六进制字符) | 已被攻破——可以人为构造碰撞 | 校验和、缓存键、去重 |
| SHA-1 | 160位(40个十六进制字符) | 已被攻破——2017年起已有实际可行的碰撞攻击 | 仅用于兼容老系统 |
| SHA-256 | 256位(64个十六进制字符) | 安全,当前行业标准 | 数字签名、TLS、区块链、完整性校验 |
| SHA-384 | 384位(96个十六进制字符) | 安全,输出比 SHA-256 更长 | 高安全等级签名、部分 TLS/PKI 场景 |
| SHA-512 | 512位(128个十六进制字符) | 安全,本工具中输出最长 | 需要最大摘要长度的场景 |
常见使用场景
- 运行下载的文件前,验证它与发布方公布的校验和是否一致。
- 基于任意文本生成确定性的缓存键或 ID。
- 无需直接对比全文,就能检查两份文档或记录是否字节级完全相同。
- 在应用明确要求时,生成安全性更高的摘要(SHA-384/SHA-512)。
常见问题
哈希值能解密还原成原文吗?
不能。哈希在设计上就是单向的——不存在密钥,也没有任何数学运算能把摘要还原回输入。声称能"解密 MD5"或"解密 SHA-256"的网站,实际做的只是在一张巨大的、预先算好的常见输入哈希表里查询。如果你的原文足够特殊、不在那张表里,那么任何人都无法把它找回来。
那网站是怎么在不存明文密码的情况下验证密码的?
网站存的是密码的哈希值,而不是密码本身。你登录时,系统会对你输入的内容重新计算哈希,再和存储的哈希对比。两者一致,就说明密码正确——全程不需要网站存储或"解密"你的真实密码。
应该用哪种算法?
涉及安全的场景(签名、证书、验证下载文件)请用 SHA-256 或更高级别——MD5 和 SHA-1 都已在密码学上被攻破,不能再信赖用于安全用途。而校验和、缓存键、去重这类非安全场景,MD5 仍然够用,而且计算更快。
为什么同样的文本,在别的工具上算出的哈希不一样?
通常是看不见的差异:末尾多了换行或空格、换行符不同(\r\n 和 \n)、或者文本编码不同。只要字节完全一致,任何正确实现算出的哈希都会完全相同。
我的文本会被发到服务器吗?
不会。MD5 由浏览器里运行的 JavaScript 计算,SHA-1/SHA-256/SHA-384/SHA-512 则调用浏览器内置的 Web Crypto API。所有数据都不离开你的设备。