MD5 与 SHA 哈希生成器
为文本或文件生成 MD5、SHA-1、SHA-256、SHA-512 和 SHA-3 哈希。支持 HMAC 模式、十六进制或 Base64 输出,以及用于校验下载的哈希对比。
正在加载MD5 哈希生成器…
您的文件绝不离开您的设备
如何使用MD5 哈希生成器
- 1
在此页面打开MD5 哈希生成器,它直接在浏览器中加载。
- 2
添加文件、文本或数值,并调整设置。
- 3
复制或下载结果。不会上传或存储任何内容。
关于此工具
哈希是数据的定长指纹:相同的输入总是得到相同的哈希,哪怕只改一个字符,结果也会完全不同。这款 MD5 哈希生成器 可以一次性从文本或文件生成 MD5、SHA-1、SHA-256、SHA-512 和 SHA-3 哈希,并能把结果与预期值对比,用于校验下载的文件。哈希计算在你的浏览器中完成,文件和密钥绝不会被上传。
如何生成哈希
- 输入或粘贴文本,或切换到 文件输入 并选择一个文件。
- 选择一种算法,或一次生成全部算法的结果。
- 选择 十六进制 或 Base64 输出。
- 如需带密钥的哈希,开启 HMAC 并输入密钥。
- 复制或下载结果,或在对比框中粘贴预期哈希,查看 Match 或 No match,可选择是否区分大小写。
算法对比
| 算法 | 位数 | 当前用途 |
|---|---|---|
| MD5 | 128 | 仅用于校验和与旧系统 |
| SHA-1 | 160 | 已过时;安全场景应避免 |
| SHA-256 | 256 | 通用,应用广泛 |
| SHA-512 | 512 | 高安全要求 |
| SHA-3 | 最高 512 | SHA-2 的现代替代 |
常见用途
- 校验下载:计算文件哈希,并与开发者公布的校验和比对。一致则说明文件完整无损。
- 检测文件或文本的变化,例如在备份或部署中。
- 基于内容生成的 缓存键和 ID。
- 用于 Webhook 和 API 的 HMAC 签名,通过共享密钥证明消息的发送方。
MD5 安全吗?
不安全,至少不适合安全用途。研究人员能够构造出两个 MD5 哈希相同的不同输入,SHA-1 也是如此。MD5 仍可用于检测意外损坏,但对于必须防篡改的签名和完整性校验,请使用 SHA-256 或 SHA-3。至于密码,这些快速哈希都不合适:应用程序应使用 bcrypt、scrypt 或 Argon2 等加盐的慢速算法。
须知
- 哈希是单向的。 无法把哈希解码回原始文本。
- 空白字符也算数。 末尾多一个空格或换行,哈希就会不同。
- 文本按 UTF-8 计算哈希,与大多数系统使用的编码一致。
需要编码而不是哈希?使用 Base64 编码器。需要唯一 ID?试试 UUID 生成器。
常见问题
MD5 哈希可以解密吗?
不可以。哈希是单向的。简短或常见的输入有时能在已知哈希表中查到,所以不应使用 MD5 保护任何机密。
现在使用 MD5 还安全吗?
仅适用于非安全用途,例如检查文件是否意外损坏。凡是涉及安全的场景,请使用 SHA-256 或 SHA-3。
如何校验下载的文件?
选择文件,选用与公布的校验和相同的算法(通常是 SHA-256),再把公布的值粘贴到对比框中。显示 Match 即表示文件完整。
什么是 HMAC?
结合了密钥的哈希。只有持有密钥的人才能生成相同的 HMAC,因此它能证明消息来自可信的发送方且未被修改。
为什么同样的文本得到了不同的哈希?
通常是因为隐藏的差异,例如末尾空格、换行或大小写不同。输入只要有任何差别,哈希就会完全改变。
我的文件会被上传吗?
不会。文件和文本都在你的浏览器中计算哈希,绝不会发送到服务器。
