MD5 加密解密 · 在线 MD5 计算与文件校验

加载中…

反馈问题操作「文本哈希」输入文字即出各种哈希;「文件校验」选文件算 MD5 与 SHA-256 并可比对官方值;「MD5 反查」粘贴 MD5 查常见弱口令

猜你喜欢

在线 MD5 加密与哈希计算:输入文字马上出 MD5(32 位小写、大写,16 位)、SHA-1、SHA-256、SHA-512,可加 HMAC 密钥;选文件分块算 MD5 与 SHA-256,粘贴官方给的值自动比对一致还是不一致。MD5 解密如实做:用内置的常见弱口令现场反查。全部在本机浏览器里算,不上传。

怎么用

这是一个在线 MD5 计算工具,也就是常说的 MD5 在线加密、在线 MD5:输入文字就出 MD5 值,还能校验文件、反查常见弱口令。顶部常驻一句说明:全在你这台设备的浏览器里计算,文字和文件都不上传、不联网,也不保存。分三个页签。

一、文本哈希:MD5 加密与 SHA 计算

在输入框里打字或粘贴,下面的表马上更新,不用点按钮:

  • MD5 · 32 位小写/32 位大写:最常用的 MD5 值。
  • MD5 · 16 位小写/16 位大写:32 位里中间那 16 个字符。
  • SHA-1、SHA-256、SHA-512:更长、更安全的哈希,核对文件、做签名时常用。

每一行右边都有「复制」。文字按 UTF-8 计算,一个汉字算 3 个字节;输入框里的换行算一个换行符(\n)。点「示例」会填入 abc,你可以对照下面「原理与冷知识」里给的标准答案验证。

勾上 HMAC(带密钥) 会多出一个密钥框,表变成 HMAC-MD5、HMAC-SHA1、HMAC-SHA256、HMAC-SHA512 四行。很多接口签名就是「把参数按规则拼好,再用密钥算 HMAC」,调接口签名对不上时可以在这里手算一遍对照。

二、文件校验:算文件的 MD5 值

选一个文件或拖进虚线框,页面按每块 2 MB 分块读取,同时算 MD5 和 SHA-256,上面有进度条,算一半想停可以点「停止」。几 GB 的安装包、镜像文件也能算,只是要多等一会儿,速度取决于你的电脑。

算完后,在下面的框里粘贴官方给的 MD5 或 SHA-256(大小写、空格不影响),页面自动认出是哪一种并比对,结果是 ✓ 一致 或 ✗ 不一致。

三、MD5 反查:常见弱口令的 MD5 在线解密

粘贴一个 32 位或 16 位的 MD5(也认 64 位 SHA-256),按回车或点「反查」。本页会把内置的约 5.8 万个常见弱口令逐个算一遍,看有没有和你给的值一样的。清单包括几百个最常用的口令(123456、password、qwerty、键盘排列、常见拼音一类)、全部 4 位数字、同一数字连写和顺序数字,以及 1950~2015 年每一天的八位生日(如 19900101)和六位生日(如 900101)。

怎么看结果

文本哈希的读法

同样的文字永远得到同样的值,改动哪怕一个字、一个空格、一个换行,结果都会完全变样。所以和别人对不上时,先查这几样:

  • 首尾有没有多余的空格或换行:从网页、表格里复制来的内容最常带。
  • 编码是不是一致:本页按 UTF-8 算。有些老系统按 GBK 算中文,同一个汉字在两种编码下字节不同,MD5 就不同;纯英文数字则没有差别。
  • 大小写与位数:32 位和 16 位、大写和小写只是写法不同,比的时候对齐写法即可。

文件比对的读法

  • ✓ 一致:文件和官方发布的一字节不差,可以放心用。
  • ✗ 不一致:先确认三件事:官方给的值对应的是不是同一个版本、同一个平台的文件;下载有没有中断(文件大小和官网写的对不对得上);有没有选错文件。都对,就重新下载一次再算;仍然不一致,别安装,换官方渠道下载。
  • 「这是 SHA-1,没法比」:文件校验只算 MD5 和 SHA-256,去官网找有没有另外给出这两种。

反查结果的读法

  • 命中:显示原文,并提醒你这个口令太弱。能被一张 5.8 万条的小表查出来,意味着任何人都能几秒钟试出来,还在用它的账号建议马上改。
  • 没找到:只说明它不在这份常见口令清单里,既不代表「安全」,也不代表别处「解得开」。MD5 本身不可逆,所有的 MD5 解密都只是猜。

常见问题

MD5 是什么?MD5 值有什么用?

MD5 是一种哈希算法,把任意内容压成一个固定 32 位十六进制的「指纹」,这个指纹就叫 MD5 值。它的用处主要是核对:下载的文件和官网的是不是同一个、两份数据是否完全相同、网盘秒传判断文件是否已存在。它不是加密,算出来的值不能还原回原文;要能还原的编码请用 Base64 编码解码。

MD5 加密和真正的加密有什么区别?

加密是可逆的:有密钥就能解回原文,比如 AES。MD5、SHA 系列是哈希,不可逆,也没有密钥(HMAC 里的密钥是用来防伪造的,不是用来解密的)。「MD5 加密」只是约定俗成的叫法。想要一个安全的新口令,可以用 随机密码生成器 生成又长又随机的口令。

哈希值是十六进制,怎么换成二进制或十进制?

MD5 的 32 个字符就是 128 位二进制的十六进制写法,每个字符对应 4 位。想看它的二进制或十进制,把这串粘进 进制转换器 的十六进制一栏,其余进制马上出来。需要给每条数据生成一个不重复的编号,用 UUID 生成器 更合适。

为什么同一个文件在不同网站算出的 MD5 一样?

因为 MD5 是公开、确定的算法,不管在哪台电脑、哪个程序里算,同样的字节必定得到同样的结果,这正是它能用来核对文件的原因。如果算出来不一样,说明两边拿到的文件字节不同。

原理与冷知识

标准答案

MD5 由 Ronald Rivest 设计,规范写在 1992 年发布的 RFC 1321 里,文档附录给了一组测试向量,本页的单元测试逐条钉住了它们:空字符串的 MD5 是 d41d8cd98f00b204e9800998ecf8427e,a 是 0cc175b9c0f1b6a831c399e269772661,abc 是 900150983cd24fb0d6963f7d28e17f72。abc 的 SHA-256 是 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad。你可以点「示例」验证。

MD5 怎么算

先把内容在末尾补一个 1 位和若干个 0,再写上原始长度,凑成 512 位的整数倍;然后每 512 位一块,交给一个 64 步的压缩函数,每一步做与、或、非、异或、循环左移和加法,把 128 位的内部状态搅一遍。所有块处理完,内部状态就是 MD5 值。因为是一块一块处理的,大文件可以分块读、边读边算,本页的文件校验就是这么做的,单元测试也验证了分块算和一次算结果完全相同。

为什么浏览器不自带 MD5

浏览器给网页用的加密接口 crypto.subtle 只提供 SHA-1、SHA-256、SHA-384、SHA-512 这些摘要算法,故意不提供 MD5,因为它已经不适合安全用途。所以网页上算 MD5 都得自己实现,本页的 MD5 与 SHA-256 是用几百行 JavaScript 写的,并在单元测试里和 Node.js 自带的实现对拍了上百组随机数据。

碰撞

两段不同内容得到同一个哈希值叫碰撞。MD5 输出只有 128 位,碰撞在理论上一定存在;2004 年中国学者王小云团队公开了快速构造 MD5 碰撞的方法,之后又出现了能让两个不同文件拥有同一个 MD5 的实用攻击。所以 MD5 不再用于数字签名和证书,但用来发现「文件在传输中意外损坏」仍然足够。

更多问答

MD5 能解密吗?网上的「MD5 解密」是怎么做到的?

MD5 不能解密。它是单向的哈希:任意长度的输入都被压成 128 位(32 个十六进制字符),过程中丢掉了大量信息,数学上没有从结果倒推原文的办法。所谓的 MD5 解密在线转换,其实是查表:事先把海量常见口令、短字符串的 MD5 算好存起来,你给一个值,它去表里找有没有一样的。所以简单的口令(123456、生日、常见单词)能「解」出来,又长又随机的原文永远查不到。本页的「MD5 反查」就是这个原理,表比较小,只放了约 5.8 万个常见弱口令,全在你的浏览器里比对。

SHA-256 能解密吗?

也不能,道理和 MD5 一样,而且 SHA-256 的输出更长(256 位),至今没有公开的实用碰撞,安全性比 MD5 高得多。所谓的 SHA256 解密同样是查表,只对弱口令有效。本页的反查也认 64 位的 SHA-256,用的是同一份弱口令清单。

32 位 MD5 和 16 位 MD5 有什么区别?大小写有关系吗?

MD5 的结果本来只有一种:128 位,写成 32 个十六进制字符。所谓 16 位 MD5,是把这 32 个字符取中间那一段(第 9 到第 24 个字符),一些老系统为了省地方这样存。大小写只是十六进制字母 a~f 的写法不同,值完全一样,比对时不分大小写。本页把 32 位小写、32 位大写、16 位小写、16 位大写四种都列出来,各带复制。

下载的软件怎么核对 MD5 值?.md5 文件怎么打开(open md5 file)?

官网下载页常会给出一个 MD5 或 SHA-256 值,有的单独放一个扩展名是 .md5 或 .sha256 的小文件。这种文件是纯文本,用记事本就能打开,里面通常是「一串哈希值+空格+文件名」。核对方法:在本页「文件校验」里选你下载的文件,等它算完,把官方那串值粘进比对框,显示「一致」就说明文件完整、没被改过;「不一致」先确认版本对不对,再重新下载。不想用网页,Windows 可以在命令行运行 certutil -hashfile 文件名 MD5,macOS 运行 md5 文件名,Linux 运行 md5sum 文件名。

我输入的文字和选的文件会上传吗?

不会。MD5 和 SHA-256 是本页自己写的代码在你的浏览器里算的,SHA-1、SHA-512 与带密钥的 HMAC-SHA 用的是浏览器自带的 crypto.subtle,同样在本机完成;页面不发任何网络请求,断网也能用,内容也不保存。反查用的弱口令表是页面打开后现场算出来的,不去任何服务器查。

和 cmd5、somd5、sojson 这些网站比有什么不同?

cmd5、somd5 这类网站背后有体量很大的对照库,能查出的弱口令比本页多得多,但你要把哈希值发给它们。本页的反查表小,只覆盖最常见的口令,好处是完全不联网。计算方面,本页一次列出 MD5 四种写法和 SHA-1、SHA-256、SHA-512,能算大文件、带进度,并能自动比对官方给的值。真正想保护的口令,无论哪个网站都不该拿去「试解」。

用 MD5 存密码还安全吗?

不安全。MD5 算得太快,加上对照库现成,常见口令几乎都能秒查;2004 年起还陆续公开了构造 MD5 碰撞(两段不同内容得到同一个 MD5)的方法。现在存密码应该用专门为此设计、故意算得慢并且加盐的算法,比如 bcrypt、scrypt、Argon2。MD5 仍然适合做不涉及对抗的事:核对文件有没有传坏、给内容做个短指纹。

本页更新于 2026-10-18 · 分类:在线工具