使用方法
- 在 “文本” 中输入或粘贴文本。
- 将 “密钥(可选)” 留空以得到普通摘要,或输入密钥以得到 HMAC。
- 复制任一行中的摘要,或使用 “下载为 CSV” 保存整张表格。
- 将第一列中的算法,与您的系统或文档要求的算法核对。
什么是哈希值
哈希函数会把任意文本转换为固定长度的代码,称为摘要。相同的文本总会得到相同的摘要,文本只要稍有改动,摘要就会完全不同,而且无法由摘要还原出文本。本页的摘要以十六进制表示:MD5 为32位,SHA-1 为40位,SHA-256 为64位,SHA-384 为96位,SHA-512 为128位。
十六进制位数 = 位数 ÷ 4
MD5 128 ÷ 4 = 32
SHA-256 256 ÷ 4 = 64
SHA-512 512 ÷ 4 = 128
哪种算法适用
MD5 和 SHA-1 已被攻破。 人们可以找到两段不同的文本,它们的摘要相同,因此不得用于签名或证书。它们仍然出现在旧系统中,也可用来快速检查下载的文件是否发生意外损坏。SHA-256 和 SHA-512 属于现行标准 FIPS 180-4,是常用的选择。
若要存储密码,请使用 Argon2 或 bcrypt 等密码哈希函数。本页的任何摘要都不是为此设计的。
HMAC:带密钥的摘要
HMAC(RFC 2104)以固定的方式把密钥与哈希结合起来。只有知道密钥的人才能生成相同的 HMAC,因此它可以证明消息来自已知的发送方,并且在途中没有被改动。本页使用与普通摘要相同的算法计算 HMAC。
文本就是字节
- 文本按 UTF-8 字节计算(RFC 3629)。ASCII 字母占一个字节,ğ 等土耳其字母占两个字节,汉字占三个字节,表情符号占四个字节。
- 换行符不同、编码不同或多出一个空格,都会得到不同的摘要,因此请对其他工具哈希的相同字节进行计算。
示例:abc 与 HMAC
文本 abc 的摘要是公开的数值:MD5 见 RFC 1321,SHA-1、SHA-256、SHA-384 和 SHA-512 见 FIPS 180-4。
以密钥 Jefe 与文本 what do ya want for nothing? 计算时,HMAC-SHA-256 为 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843,即 RFC 4231 的测试向量(测试用例2)。
| 算法 | abc 的摘要 |
|---|---|
| MD5 | 900150983cd24fb0d6963f7d28e17f72 |
| SHA-1 | a9993e364706816aba3e25717850c26c9cd0d89d |
| SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
| SHA-384 | cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7 |
| SHA-512 | ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f |
常见问题
MD5 能用于存储密码吗?
不能。MD5 速度快且已被攻破,泄露的 MD5 密码哈希列表很容易被破解。请使用 Argon2 或 bcrypt 等密码哈希函数存储密码。
SHA-256 和加密是一回事吗?
不是。哈希是单向的:它无法还原为原文,也不使用密钥。加密则可以用正确的密钥解开。哈希用于检查完整性,HMAC 则用于检查消息是否来自知道密钥的人。
哈希值和 HMAC 有什么区别?
哈希值只取决于文本本身。HMAC 还需要一个秘密密钥,因此只有掌握密钥的人才能生成或检查它。Webhook 与 API 签名通常使用 HMAC-SHA-256。
为什么我的摘要与其他工具不同?
字节必须完全相同。换行符不同、编码不同(例如 Windows-1254),或多出一个空格,都会改变每一个摘要。请对其他工具哈希的那些相同字节进行计算。
我的文本会被发送到什么地方吗?
不会。摘要在您的浏览器中计算,您输入的文本不会被上传到我们的服务器,也不会被保存下来。
可以用这个工具检查文件吗?
本页只对文本计算哈希值。如果要检查文件,请使用操作系统自带的校验工具,或使用下载网站发布的校验码。
资料来源
- RFC 1321:MD5 消息摘要算法(IETF,英文)
- NIST FIPS 180-4:安全散列标准,含 SHA-1 与 SHA-2 系列(英文)
- RFC 2104:HMAC,用于消息认证的密钥哈希(IETF,英文)
- RFC 4231:HMAC-SHA-224、-256、-384与 -512的测试向量(IETF,英文)
数据和文字最近核对于2026年11月10日星期二。