MD5 计算

在线计算文本的 MD5 摘要值。

请输入要计算 MD5 的文本

什么是MD5 计算?

MD5 计算工具用来对输入的文本内容计算 MD5 摘要值,输出一段固定 32 位十六进制字符的哈希结果。MD5(Message-Digest Algorithm 5)是一种单向哈希算法,同样的输入永远得到同样的输出,但无法从输出反推出原始输入。 需要特别说明的是,MD5 本质上是摘要/校验算法,不是加密算法——它不能被解密还原成原文,而且由于存在已知的碰撞漏洞,早已不再被推荐用于密码存储或安全签名场景,目前主要还留在文件完整性校验、数据去重、非安全场景的唯一标识生成等用途上。

为什么使用MD5 计算?

典型场景:校验下载文件是否完整(比对官方给出的 MD5 值与本地计算结果是否一致)、给一段文本内容生成一个简短的唯一标识用于缓存 key 或去重、快速比较两段内容是否相同(内容一致则 MD5 必然一致)。 和 SHA-256 等哈希函数相比,MD5 计算更快、结果更短,但安全强度低得多;如果场景涉及密码存储、数字签名、防篡改校验等安全相关用途,应该使用站内的哈希(SHA)工具计算 SHA-256 或更强的算法,而不是 MD5。

使用示例

文本摘要计算

输入 hello,计算得到 MD5 为 5d41402abc4b2a76b9719d911017c592,同样的输入无论计算多少次结果都相同。

文件完整性校验

从官网下载一个安装包后,官网给出该文件的 MD5 值,把本地计算出的摘要值与官网公布的值比对,一致说明文件未被篡改或损坏。

中文文本计算

输入你好,工具会先按 UTF-8 编码处理再计算摘要,得到一个固定的 32 位十六进制字符串,只要输入完全一致(包括编码方式),结果就是可重复的。

常见问题

MD5 还安全吗?
MD5 已被证明存在碰撞漏洞,不建议用于密码存储或签名等安全场景,仅适合做非安全用途的一致性校验(如文件校验)。
为什么不用 Web Crypto 实现?
浏览器原生 Web Crypto API(crypto.subtle)不支持 MD5 算法,因此本工具内置了一份纯 JavaScript 的 MD5 实现。
数据会上传服务器吗?
不会。MD5 计算完全在浏览器本地的 JavaScript 中完成,不发起任何网络请求。
MD5 是加密吗,能解密吗?
不是加密,是单向哈希摘要,理论上不可逆,不存在解密 MD5 得到原文的官方方法;网上一些 MD5 解密网站实际是基于庞大的彩虹表/字典查表反查常见弱口令,对随机或复杂内容无效。
MD5 安全吗,还能用来存密码吗?
不建议。MD5 已被证实存在碰撞攻击,且计算速度快,容易被暴力破解或彩虹表破解,密码存储应使用 bcrypt、scrypt、Argon2 等专门的密码哈希算法,普通哈希(包括 SHA 系列)也不适合直接存密码。
两段内容不同但 MD5 一样,正常吗?
理论上存在碰撞的可能性(不同输入得到相同摘要),MD5 的碰撞已被学术界实际构造出来,这也是它不再适合安全场景的原因之一,但在普通文件比对等非对抗场景中,出现意外碰撞的概率仍然极低。
计算过程会上传我的内容吗?
不会,计算在浏览器本地完成,输入内容不会发送到服务器。
支持计算文件的 MD5 吗?
本工具面向文本输入计算摘要,如果需要校验文件哈希,请使用支持文件计算的工具或系统自带命令(如 md5sum)。

相关工具

相关教程

← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。