MD5 哈希生成器
哈希生成器 的预设方案
从文本生成 MD5 哈希值。MD5 在密码学上已被攻破,不能用于安全场合,但它依然是许多下载文件附带发布的校验和格式,也被老旧系统所使用——所以它在验证文件是否完整送达这件事上仍然有用。
- 文件永不离开你的设备
- 免费,无需注册
- 无水印
- 加载后可离线使用
如何哈希生成器
- 1
输入你的文本
输入或粘贴任何内容——哈希值会随输入即时更新。
- 2
查看结果
MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 会一起显示出来。
- 3
复制
点击一下就能把任意一个哈希值复制到剪贴板。
MD5 尽管在安全用途上已被弃用,却仍然出现在哪些地方
大量现有的软件、已发布的下载校验和,以及老旧的数据库结构,依然使用 MD5,原因很简单:它们是在 MD5 的弱点被广泛知晓之前构建的,或者是因为具体的使用场景确实不需要密码学强度——比如一次内部文件传输的非对抗性完整性检查,没有人会故意伪造一个匹配的文件。在这里生成一个 MD5 哈希值,专门适用于和这类既有场景互通:匹配某个供应商已经发布的校验和,或者满足一个期望 MD5、又不容易被更改的老旧系统。
有必要明确划清这条界限:用来对照发布者提供的校验和检查下载文件没问题,用来检测意外的数据损坏没问题,但任何有动机的攻击者可能从伪造碰撞中获益的场合——数字签名、密码存储,或者任何完整性检查本身就是一项安全控制而不只是一种便利的场合——都不适合使用 MD5。
在不引发中断的前提下把一个老系统迁移出 MD5
在这个工具计算出的其他算法旁边同时生成一个 MD5 哈希值,往往是迁移过程中的一个步骤,而不是终点本身——比如核对一个老旧系统当前产出的结果,和一个基于新 SHA-256 的替代方案产出的结果是否一致,让两者在迁移过渡期间可以并行运行、相互比对,而不是盲目地直接切换。把每种算法都放在同一个地方,省去了在这类迁移工作中为了并排比对输出结果而分别打开好几个不同命令行工具的麻烦。
常见问题
MD5 用起来安全吗?
涉及安全的场合不安全。针对 MD5 的实际碰撞攻击从 2004 年起就已经存在,SHA-1 也从 2017 年起被攻破。两者在非对抗性的场合仍然有用——比如验证下载文件是否匹配公布的校验和,或者检测意外的数据损坏。只要可能存在攻击者,就该使用 SHA-256 或更强的算法。
哈希值能被还原回原始文本吗?
不能——哈希在设计上就是单向的。但很短或很常见的输入,可以通过暴力破解或预先计算好的彩虹表找到,这正是为什么密码必须用像 bcrypt 或 Argon2 这样刻意设计得很慢的加盐算法来哈希,而不能用一个原始的 SHA 算法。
我应该用这个工具给密码做哈希吗?
不应该。密码存储需要一个刻意设计得很慢、并且针对每个用户单独加盐的算法——bcrypt、scrypt 或 Argon2。原始的 SHA-256 速度太快了:现代硬件每秒能对它尝试数十亿次猜测。
我的输入会被发送到别处吗?
不会。SHA 系列哈希使用浏览器内置的 Web Crypto API,MD5 则直接在这个页面用 JavaScript 运行。没有任何内容被传输,这也是这个工具离线也能继续工作的原因。
为什么同样的文本在别处得到的哈希值不一样?
几乎总是因为多了一个换行符,或者字符编码不同。这个工具是把你输入内容按 UTF-8 精确编码后的字节做哈希——像 `echo` 这样的命令行工具,除非加上 `-n` 参数,否则会自动附加一个换行符。