MD5 加密

MD5 是一种广泛使用的密码散列函数,可以产生出一个 128 位(16 字节)的散列值(hash value),用于确保信息传输完整一致。

快速
安全
批量支持
文件支持
输入文本
0 字符

提示:支持多行输入,按 Ctrl+Enter 快速加密

关于 MD5

MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,可以产生出一个 128 位(16 字节)的散列值。它常用于验证数据完整性和创建数字签名。

128-bit
哈希长度
32/16
字符输出格式
1991
发明年份

主要特性与应用场景

文件完整性验证
下载文件后,可以通过对比MD5值来确认文件在传输过程中是否被篡改或损坏。
数据去重
通过计算文件的MD5值,可以快速识别和删除重复文件,节省存储空间。
缓存键生成
在Web开发中,MD5常用于生成唯一的缓存键,提高应用性能。
数字签名
虽然不够安全,但在一些低风险场景下仍用于生成数字签名。
密码存储
早期用于密码哈希存储,但现在已不推荐使用,应使用bcrypt或Argon2。
版本控制
用于标识文件版本和检测内容变化,常见于Git等版本控制系统。

使用方法

1

文本加密

在输入框中输入需要加密的文本

2

批量处理

支持批量加密多行文本,每行生成独立的MD5值,提高工作效率。

3

文件哈希

上传任意文件(图片、文档、视频等),快速计算其MD5哈希值。

4

完整性校验

对比原始内容和MD5值,验证数据是否被篡改。

5

格式选择

支持32位/16位、大小写4种输出格式,满足不同需求。

6

快速复制

一键复制结果,或导出批量处理结果到文件。

优势特点
计算速度快

MD5算法设计高效,可快速处理大文件和批量数据。

广泛兼容性

Base64 编码几乎被所有编程语言和平台支持,使其成为不同系统之间数据交换的理想选择。

固定长度输出

无论输入多长,输出始终为128位,便于存储和比较。

使用简单

几乎所有编程语言都提供MD5函数库,易于集成。

安全性提醒
碰撞攻击

已证实可以生成具有相同MD5值的不同文件。

不适合密码存储

容易被彩虹表攻击,应使用bcrypt、Argon2等现代算法。

推荐替代方案

安全关键场景建议使用SHA-256、SHA-3等更安全的算法。

常见问题

Q:MD5 还安全吗?

A: 虽然 MD5 仍然广泛用于数据完整性检查,但由于已知的漏洞,不建议用于安全关键型应用。对于安全敏感的应用,建议使用更现代的哈希函数,如 SHA-256。

Q:MD5值会重复吗?

A: 理论上不同输入可能产生相同MD5值(碰撞),但在实际应用中几率极低。对于文件完整性验证等场景仍然实用。

Q:可以解密MD5吗?

A: MD5是单向哈希函数,理论上不可逆向解密。所谓的'MD5解密'实际上是通过预先计算的密码字典进行碰撞匹配。

Q:32位和16位有什么区别?

A: 32位是完整的MD5值,16位是截取中间部分。32位更安全可靠,16位常用于简化场景,但安全性较低。

其他工具

AES 加解密工具

专业的在线AES加解密工具,支持AES-128/192/256位加密,多种加密模式(CBC, ECB, CFB, OFB, CTR)和填充方式。所有加密在本地浏览器完成,安全可靠。

API 签名生成工具

专业的HMAC和MD5签名生成工具,支持HMAC-SHA256/SHA512/MD5等多种哈希算法。适用于API接口签名、数据完整性验证、Webhook回调验证等场景。

RSA 加密解密工具

专业的RSA工具,支持密钥对生成(1024/2048/4096位)、公钥加密、私钥解密、数字签名与验证。支持RSA-OAEP和PKCS#1填充方案,PEM格式密钥兼容所有主流系统。

JWT 工具

免费在线 JWT 工具,提供 JWT 解析、验证、生成等功能,支持 HS256、RS256 等多种算法,简单易用。

专业 Base64 编解码

Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。常用于在 HTTP 环境下传递较长的标识信息。

图片转 Base64

将图片转换为 Base64 编码字符串,用于嵌入 HTML、CSS 或其他基于文本的格式中。

UUID 生成器

为您的应用程序生成唯一标识符(UUID)。快速、安全、可靠。

摩斯密码工具

在线摩斯密码编解码工具,支持文本与摩斯密码的相互转换,并提供音频播放功能

邮箱加密工具

在线邮箱地址加密工具,将邮箱地址转换为Unicode编码格式,有效防止网页邮箱采集器。

URL 编码/解码

在线 URL 编码和解码工具,支持对 URL 进行编码和解码。

Unicode 转换工具

在 Unicode 编码、中文字符和英文字符之间进行转换,支持多种转换模式。