哈希摘要

计算文本的 MD5、SHA-1、SHA-256、SHA-384、SHA-512 摘要,本地即时完成。

MD5
1e3982b3ca1963b50454dd6842a95cb3
SHA-1
b8d2c4cda50e8d5bb16dc4fd19c0d936c21eb754
SHA-256
3cfd16bba5a8e5e780b18f2a6c7eaafdef3f7c556a36a7f0f9f7ea8380d6368b
SHA-384
e1366185304186f545594aa65f942268a76ff370a14b56a070a521cc69c9f3f4c72784a909d80b94aeb7e35b66b9ef87
SHA-512
91d288030236c2f2ae9764f9be3a103bd2ebb55716ac051edd93d6d8e04bc3e795b3568df6361fac6d64b0aca5b724c2ea1a80a779e31477c3ab45313682683b

哈希摘要

哈希(摘要)是把任意长度输入压成一段固定长度的指纹:同样内容永远得到同样结果,改一个字符就面目全非,而且从指纹推不回原文。这页输入一段文字,一次算出五种常见摘要,用来核对文件是否被改动、比对内容是否一致。

适合下载东西想验证校验和、把用户输入做指纹去重、给一段配置生成短 ID、排查两个看着一样的文本字节是否真相同。输入框一改动,五种算法的结果就同步刷新。

每种算法一行:算法名、十六进制摘要、一个复制按钮。勾「大写输出」把字母转 A-F。MD5 一直可用;SHA 系列依赖浏览器的 Web Crypto,需要 HTTPS 或 localhost 这类安全上下文。

怎么用

  1. 输入把要算摘要的文字放进输入框(占位「输入要计算摘要的文本」);框内预置了 xmi4.com,可直接替换。
  2. 读五种结果下方按 MD5 / SHA-1 / SHA-256 / SHA-384 / SHA-512 各列一行,输入一动约 0.1 秒后刷新(有防抖)。
  3. 切换大小写勾「大写输出」让所有摘要里的字母变 A-F,方便贴进要求大写的校验场景。
  4. 逐行复制每行末尾的复制按钮(鼠标悬停提示「复制 该算法 结果」)单独拷走那一条。

示例

输入
xmi4.com
输出
MD5 15c8aa719bfc489ec48770c53b388593 · SHA-256 3cfd16bba5a8e5e780b18f2a6c7eaafdef3f7c556a36a7f0f9f7ea8380d6368b

同一串输入在任何地方算,摘要都一模一样;这就是拿它当指纹的依据。

深入一点

哈希不是加密,也不能解密

摘要单向不可逆,本页没有解回原文的功能。别指望 MD5、SHA 能还原或保密——它用来验证一致、没被改,不是加密。

同理,想把一段口令存成摘要就算安全也不对:裸哈希能被字典和彩虹表快速命中,真存口令要加盐或用专门的慢哈希。

也别拿摘要当唯一编号去反推内容——它只能证明两段完全一样,说不出这段究竟写了什么。

MD5、SHA-1 已不适合安全用途

这两者已被证实可构造碰撞,别拿来做防伪、签名或口令保护;日常校验完整性仍可用,但安全场景请选 SHA-256 及以上。

判断标准很简单:结果会不会被人刻意伪造。只是核对有没有传坏、下错,短一点的老算法无妨;一旦牵涉身份、权限或金额,就务必换强算法。

安全上下文才会出 SHA

SHA 系列走浏览器 crypto.subtle,只在 HTTPS 或 localhost 下可用;非安全上下文时这页会黄字提示「当前非安全上下文,SHA 系列不可用(仅 MD5)」,此时只有 MD5 有值。

这不是缺陷:浏览器不让担心被篡改的页面调用加密接口,本地开发和正式站点都是安全上下文,正常用不会碰到。

真要长期用就把页面挂在受信任的域名下,就不会再看到这个提示;临时以文件方式打开时只有 MD5 可用,凑合比对非安全内容也还行。

注意事项

  • 计算全在浏览器本地,输入内容不上传服务器。
  • 摘要按 UTF-8 字节算;带中文或 emoji 时,对方也要按同样字节口径才能对上。
  • 结果是单向指纹,不能当密钥,也不能用来加密敏感信息。
  • 校验口令应加盐或用专用算法,不要用这里的裸 MD5/SHA。
  • 五种摘要是对同一段字节各算一次,输入一动就一起刷新,不需要逐个手动触发。
  • 空输入也会算出固定摘要(各算法对应一串定长十六进制),不是报错;想知道某串是不是空,比对摘要长度就行。

常见问题

md5 能解密吗

不能,哈希是单向的,没有反算;想还原原文只能靠字典或暴力猜,那不是解密。

为什么 SHA 那几行是破折号或提示

不在 HTTPS 或 localhost 下,浏览器不让用相关接口,SHA 系列不可用,只有 MD5 能算。

中文算 md5 为什么和别人不一样

多半字节口径不同(UTF-8 对 GBK)。同一串字,编码不同、摘要就不同。

怎么验证下载文件没被篡改

拿到官方给的 SHA-256,自己对文件算一遍比对;不一致就是被改或不完整。

两个不同文本会撞出同样摘要吗

理论上可能(碰撞),但强算法下实际难遇到;MD5 和 SHA-1 已被证明能人为造碰撞,别用于安全。

md5 和 sha256 我该用哪个

只想快速比对或校验非安全数据,MD5 够用;任何与安全、防篡改沾边的,用 SHA-256 起步。

能算文件而不是文本吗

不能,这页只接受文本输入;要算文件的摘要得把文件读成字节,不在本页能力里。

摘要长度为什么不一样

每种算法输出的比特数固定,写成长度就固定:MD5 三十二位十六进制,SHA-1 四十位,SHA-256 六十四位,以此类推。

为什么改一个字符结果全变

这是雪崩效应,摘要算法故意这么设计,输入差一点、输出就面目全非,正因如此才能当指纹用。

多个算法哪个更快

日常长度下差别不大,都在本地瞬时算完;算法间的取舍是安全性和输出一多长,不是速度。

注册后可收藏工具、跨设备同步最近使用。