哈希生成器

输入任意文本,即时生成 MD5、SHA-1、SHA-256 和 SHA-512 哈希值。所有计算均在浏览器中完成。

生成哈希值

输入文本
0 个字符
哈希输出(SHA-256
SHA-256 生成 64 个十六进制字符(256 位)

快速参考 — 哈希算法对比

算法输出大小十六进制长度安全性
MD5128 位32 字符已破解(已发现碰撞)
SHA-1160 位40 字符已弃用(已发现碰撞)
SHA-256256 位64 字符安全(当前标准)
SHA-512512 位128 字符安全(最高强度)

如何使用此哈希生成器

第一步:在上方的输入框中输入或粘贴任意文本。可以是密码、文件内容、消息或任何你想要哈希的字符串。

第二步:从选项卡中选择哈希算法:MD5SHA-1SHA-256SHA-512。默认选择 SHA-256,因为它是当前的行业标准。

第三步:哈希值将通过 Web Crypto API(MD5 使用纯 JavaScript 实现)在浏览器中即时生成。你的输入文本不会发送到任何服务器。

第四步:点击复制按钮将哈希值复制到剪贴板。可用于文件完整性验证、校验和比较或其他用途。

哈希安全最佳实践

如果你正在对密码进行哈希处理,切勿使用 MD5 或 SHA-1——两者在密码学上均已被破解。对于密码存储,应使用专用的密码哈希函数,如 bcryptscryptArgon2,这些函数被设计为运行缓慢且能抵抗暴力破解攻击。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 即时生成。
哈希有哪些用途?
密码存储、文件完整性校验和、数字签名、区块链挖矿、数据去重和缓存。