MD5 加密

计算文本或文件的 MD5 摘要,输出 32 位十六进制,可切换大小写;文件按 8 MB 分片读取,多大都不会撑爆内存。

MD5 摘要(32 位十六进制)

MD5 是摘要(哈希)而不是加密:它不可逆,也无法用密钥解开。它只适合做文件完整性校验, 早已不适合用于密码存储或防篡改 —— 这类场景请改用 SHA-256 及以上(可用本站的文件哈希校验)。

本工具在你的浏览器内运行,输入的内容与文件不会上传到任何服务器。

常见问题

MD5 加密能解密还原吗?
不能。MD5 严格来说不是加密算法而是摘要(哈希)算法:它把任意长度的输入压成固定 128 位(32 位十六进制)的输出,这个过程不可逆,也没有任何密钥可以「解开」。网上那些所谓「MD5 解密」网站,实际做法是拿你的哈希值去比对一张预先算好的字典表(彩虹表)——只有对很短的、常见的字符串才可能命中。所以 MD5 从来不适合保护密码,现在连做签名校验也不推荐了。
为什么我算出来的结果和别人给的不一样?
最常见的三个原因:① 编码不同 —— 本工具按 UTF-8 计算,如果对方用的是 GBK(Windows 简体中文环境的默认编码之一),含中文的文本结果必然不同;② 结尾的换行 —— 用 echo 命令生成时末尾会多一个换行符,用 printf 则没有,这一个字节就会让哈希完全不同;③ 文件里带了 BOM 头。建议先在两边都对纯 ASCII 文本(例如 abc)算一次,能对上就说明算法一致,差异来自编码或换行。
几个 GB 的文件会不会卡死浏览器?
不会崩,但需要等:文件按 8 MB 分片读取,内存占用始终只有一个分片的大小(旧的实现是一次性读进内存,大文件会直接把标签页撑爆)。不过 MD5 计算本身跑在浏览器的主线程上,实测大约每秒处理 100~300 MB —— 一个 2 GB 的文件要十几秒,期间页面会明显变卡。这种量级建议直接用命令行的 md5sum 或 certutil,工具的定位是几百 MB 以内的文件。

相关工具