哈希生成器
输入任意文本,即时生成 MD5、SHA-1、SHA-256 和 SHA-512 哈希值。所有计算均在浏览器中完成。
生成哈希值
快速参考 — 哈希算法对比
| 算法 | 输出大小 | 十六进制长度 | 安全性 |
|---|---|---|---|
| MD5 | 128 位 | 32 字符 | 已破解(已发现碰撞) |
| SHA-1 | 160 位 | 40 字符 | 已弃用(已发现碰撞) |
| SHA-256 | 256 位 | 64 字符 | 安全(当前标准) |
| SHA-512 | 512 位 | 128 字符 | 安全(最高强度) |
如何使用此哈希生成器
第一步:在上方的输入框中输入或粘贴任意文本。可以是密码、文件内容、消息或任何你想要哈希的字符串。
第二步:从选项卡中选择哈希算法:MD5、SHA-1、SHA-256 或 SHA-512。默认选择 SHA-256,因为它是当前的行业标准。
第三步:哈希值将通过 Web Crypto API(MD5 使用纯 JavaScript 实现)在浏览器中即时生成。你的输入文本不会发送到任何服务器。
第四步:点击复制按钮将哈希值复制到剪贴板。可用于文件完整性验证、校验和比较或其他用途。
哈希安全最佳实践
如果你正在对密码进行哈希处理,切勿使用 MD5 或 SHA-1——两者在密码学上均已被破解。对于密码存储,应使用专用的密码哈希函数,如 bcrypt、scrypt 或 Argon2,这些函数被设计为运行缓慢且能抵抗暴力破解攻击。SHA-256 等通用哈希函数在设计上追求速度,因此单独使用不适合用于密码哈希。
对于文件完整性检查,SHA-256 是标准选择。下载软件时,将作者发布的 SHA-256 校验和与你下载文件的哈希值进行比较。如果匹配,则文件在传输过程中未被篡改或损坏。许多 Linux 发行版和开源项目会在发布版本旁附带 SHA-256 校验和。
什么是哈希?
哈希函数是一种数学算法,它接受任意大小的输入(或"消息"),并生成固定大小的字节串,通常以十六进制字符显示。输出被称为哈希值、摘要或校验和。关键特性:相同的输入始终产生相同的哈希值,即使微小的变化也会产生完全不同的哈希值(雪崩效应),且从计算上不可能将哈希值反推为原始输入。
MD5 vs SHA-1 vs SHA-256 vs SHA-512
MD5(消息摘要算法 5)生成 128 位哈希值。它速度快,但在密码学上已被破解——自 2004 年以来已证实碰撞攻击。不应用于安全用途,但仍常用于非安全性校验和。
SHA-1(安全哈希算法 1)生成 160 位哈希值。它曾多年是标准算法,但在 2017 年 Google 演示了实际碰撞后已被弃用。大多数浏览器和证书颁发机构已不再信任 SHA-1。
SHA-256 属于 SHA-2 系列,生成 256 位哈希值。它是当前的行业标准,用于 TLS 证书、比特币挖矿、数字签名和密码哈希。目前没有已知的实际攻击方法。
SHA-512 同样属于 SHA-2 系列,生成 512 位哈希值。它提供更高的安全裕度,在 64 位处理器上可能比 SHA-256 更快。
哈希与加密的区别
哈希是单向的——你无法将哈希值反推为原始数据。加密是双向的——加密的数据可以通过正确的密钥解密。哈希用于完整性验证和密码存储。加密用于保密性(保护传输中或静态的数据)。
常见用途
密码存储:应用程序在存储密码前先进行哈希处理,因此原始密码永远不会被保存。
文件完整性:下载站点发布校验和,以便你验证文件未被损坏或篡改。
数字签名:对文档进行哈希处理后再对哈希值签名,比对整个文档签名更快。
区块链:比特币和其他加密货币使用 SHA-256 进行挖矿和交易验证。
常见问题
- 什么是哈希函数?
- 一种单向数学函数,将任意输入转换为固定大小的字符串。相同的输入始终产生相同的哈希值,但你无法从哈希值反推出原始数据。
- MD5 和 SHA-256 有什么区别?
- MD5 生成 128 位(32 个字符)的哈希值,在安全用途上已被破解。SHA-256 生成 256 位(64 个字符)的哈希值,是当前的安全标准。
- MD5 还安全吗?
- 不安全。MD5 存在已知的碰撞漏洞。不应用于密码、签名或证书。仍可用于非安全性校验和。
- 如何在线生成 SHA-256 哈希值?
- 在本工具中输入或粘贴文本,然后选择 SHA-256。哈希值将通过浏览器的 Web Crypto API 即时生成。
- 哈希有哪些用途?
- 密码存储、文件完整性校验和、数字签名、区块链挖矿、数据去重和缓存。