字符数:
32位 (小写)
32位 (大写)
16位 (小写)
16位 (大写)
纯前端计算,您的文本与文件均不会被上传至服务器,100% 保护数据隐私。

什么是 MD5?它的原理解析

MD5(Message-Digest Algorithm 5,信息摘要算法第五版) 是一种被广泛使用的密码散列函数,可以产生出一个 128 位(16 字节)的散列值(hash value),通常以 32 位十六进制字符串的形式呈现。

它由著名的密码学家罗纳德·李维斯特(Ronald Rivest)设计,并在 1992 年公开。无论你输入的是一个简短的单词,还是一部 10GB 大小的电影,MD5 算法都能将其计算生成一个固定长度的、独一无二的“数字指纹”。

MD5 的核心特点

长度固定

无论输入的信息有多长或多短,输出的 MD5 散列值长度总是固定的 128 位(通常表示为 32 个字符的十六进制串)。

不可逆性(单向性)

由于 MD5 是一种哈希算法而非加密算法,理论上你无法通过一段 MD5 值反向推算出原始的信息内容。这就是为什么它常被称为“摘要”而不是“加密”。

雪崩效应

输入信息的哪怕一个微小改变(例如修改了一个标点符号或者一个像素),输出的 MD5 值就会发生剧烈且不可预测的变化,完全面目全非。

极易计算

给定任意长度的数据,通过计算机程序可以非常容易且快速地计算出其 MD5 值,适合用于大文件的快速校验。

如何使用本 MD5 加密工具?

  • 1
    文本/字符串 MD5 计算 切换到“文本 MD5 加密”标签页。在输入框中输入你需要加密的内容(如密码、账号、任意文字),下方会自动实时生成对应的 32位和 16位(大小写)MD5 哈希值,点击“复制”按钮即可使用。
  • 2
    MD5 碰撞解密(新) 切换到“MD5 碰撞解密”标签页。输入 16位或 32位的 MD5 密文,系统会在本地内置的常见弱密码库中进行比对。如果命中则直接显示明文,100% 保护您的查询隐私。
  • 3
    文件 MD5 计算与校验 切换到“文件 MD5 计算”标签页。点击上传区域或将本地文件直接拖拽进去。系统会在您的浏览器本地读取文件并极速计算,无需上传文件到服务器,几秒钟内即可获取文件的 MD5 指纹,方便校验文件完整性。

常见问题 (FAQ)

1. 什么是 16位 MD5 和 32位 MD5 的区别?
标准的 MD5 值长度总是固定的 128 bit,转换为十六进制字符串后就是 32 个字符。所谓的“16位 MD5”实际上是去掉了 32位 MD5 字符串的前 8 位和后 8 位,只保留了中间的 16 个字符。由于很多早期系统的数据库字段长度限制,才衍生出了 16 位 MD5,两者在散列特质上是一致的。
2. 为什么说 MD5 并不是真正的“加密”?
加密(Encryption)算法(如 AES, RSA)必须是可逆的,你可以通过秘钥将密文还原成明文。而 MD5 是一种哈希(Hash)算法,也就是信息摘要,它是 不可逆的单向函数,丢失了原始数据的大量信息,因此理论上无法“解密”出原文。大家常说的“MD5解密”往往是通过穷举法或查询庞大的彩虹表(彩虹字典库)进行暴力匹配。
3. MD5 现在还安全吗?能被破解吗?
作为密码存储工具,MD5 已经被认为是不够安全的了。因为现代计算机算力强大,对于简单的密码(如 123456),黑客通过彩虹表可以秒级“破解”。此外,MD5 也被证明存在“碰撞漏洞”(即不同的文件可以产生相同的 MD5 值)。如果用于高度机密的密码存储,建议使用 SHA-256 或 bcrypt。
4. 既然不安全,为什么还要提供 MD5 工具?
尽管在密码学中不再被推荐用于加密敏感数据,但由于 MD5 算法运算速度极快,目前在 文件完整性校验(如下载游戏安装包防篡改)、版本控制系统、日常非敏感数据的唯一性标识(如头像 Gravatar 哈希)等领域仍被极为广泛地使用。
5. 文件 MD5 的作用是什么?
文件 MD5 就像是文件的“基因条码”。当你在网上下载大型软件或系统镜像时,官方通常会提供一个正确的 MD5 值。你下载完成后,可以使用本工具计算一次下载文件的 MD5,如果两者完全一致,说明文件在下载过程中没有损坏或被黑客植入木马篡改。
6. 更改文件名称会改变它的 MD5 吗?
不会。 MD5 算法仅仅针对文件的“内部二进制内容数据”进行散列计算,并不包括文件系统的元数据(如文件名、修改时间、文件权限等)。因此,只要文件内容一丝一毫没变,哪怕你把《文档.docx》重命名为《123.jpg》,它的 MD5 值也永远是一样的。
7. 你们的工具支持处理多大的文件?
本工具完全在浏览器前端运行,文件大小取决于您电脑的内存和浏览器性能。通常情况下处理 100MB 以内的文件是非常迅速且稳定的。如果处理超大型文件(如几 GB),浏览器可能会出现卡顿或内存溢出的警告。对于大文件,建议使用系统自带的命令行工具(如 Windows 的 certutil)。
8. 大小写 MD5 有什么区别?
没有任何本质区别。MD5 值是由 0-9 数字和 a-f(A-F)字母组成的十六进制数。不管是大写的 A-F 还是小写的 a-f,它们代表的数值和校验意义是完全相同的。本工具同时提供大写和小写结果,仅仅是为了方便用户直接复制到那些对大小写有严格要求的特定系统中去。

相关实用小工具推荐