正在加载,请稍候…

在线文本哈希:MD5、SHA-1、SHA-256 及更多算法

了解哈希算法,使用我们的免费工具对任意文本进行 MD5、SHA-256、SHA-512 等哈希计算。

在线文本哈希:MD5、SHA-1、SHA-256 及更多算法

什么是哈希?

哈希是一种数学过程,它将任何输入——一个单词、一个文件、一条数据库记录——转换为固定长度的输出,称为摘要哈希值。这种转换是确定性的(相同输入总是产生相同输出),但实际上是不可逆的(无法从哈希值重建输入)。

这种单向特性将哈希与加密区分开来。加密在有正确密钥的情况下是可逆的,而哈希则不是。这使得哈希非常适合验证数据完整性和存储凭据,而无需暴露原始数据。

在线文本哈希:MD5、SHA-1、SHA-256 及更多算法 插图

哈希函数如何工作

一个好的密码学哈希函数满足三个特性:

  1. 确定性——相同输入总是产生相同哈希值。
  2. 雪崩效应——输入的微小变化(甚至一个比特)会完全改变哈希值。
  3. 抗碰撞性——在计算上应无法找到两个不同输入具有相同哈希值。

以 SHA-256 为例的雪崩效应:

输入: "hello"
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

输入: "hellp"
SHA-256: ac3478d69a3c81fa62e60f5c3696165a4e5e6ac4b51d12bed36a0f21b3c3e1a8

尽管只有一个字符不同,但哈希值完全不同。

流行哈希算法对比

算法 输出大小 速度 安全状态
MD5 128 位(32 个十六进制字符) 非常快 已破解——请勿用于安全目的
SHA-1 160 位(40 个十六进制字符) 已弃用——存在碰撞攻击
SHA-256 256 位(64 个十六进制字符) ✅ 广泛使用,推荐
SHA-512 512 位(128 个十六进制字符) 中等 ✅ 强,适用于文件完整性
SHA-3 可变 中等 ✅ 现代标准,NIST 批准
BLAKE2 可变 非常快 ✅ 比 SHA-256 更快,高度安全

MD5 和 SHA-1 不再被认为对敏感操作具有密码学安全性——研究人员已经展示了实际的碰撞攻击。然而,它们仍然用于非安全校验和(文件去重、缓存键),在这些场景中抗碰撞性不是关键。

哈希的实际用途

在线文本哈希:MD5、SHA-1、SHA-256 及更多算法 插图

1. 文件完整性验证

下载软件时,提供商通常会发布 SHA-256 校验和。下载后,你在本地计算哈希值并进行比较。如果匹配,则文件在传输过程中未被篡改。

2. 密码存储

现代系统从不以明文存储密码。相反,它们存储哈希值(理想情况下使用 bcrypt、Argon2 或 scrypt,而非纯 SHA)。用户登录时,输入的密码被哈希并与存储的哈希值进行比较。

3. 数字签名

要数字签名文档,你需要对文档进行哈希,然后用私钥加密哈希值。接收方可以用你的公钥解密签名,并验证其是否与本地计算的哈希值匹配。

在线文本哈希:MD5、SHA-1、SHA-256 及更多算法 插图

4. 去重和缓存键

内容可寻址存储系统(如 Git)通过哈希值标识对象。两个内容相同的文件具有相同的哈希值,因此只存储一次。

5. 数据结构

哈希表使用哈希将键映射到数组索引,从而实现平均 O(1) 的查找时间。

哈希 vs. 加密 vs. 编码

哈希 加密 编码
可逆 ✅(有密钥) ✅(总是)
需要密钥
用于安全 完整性/密码 机密性 数据格式
示例 SHA-256 AES-256 Base64

一个常见错误是使用 Base64“编码”来隐藏敏感数据。Base64 可以轻易逆转,提供零安全性。对于敏感信息,始终使用正确的哈希或加密。

SHA-256 vs SHA-512:如何选择?

SHA-256 是更安全的通用选择——广泛支持、经过充分审计,并且在 32 位和 64 位系统上速度都很快。SHA-512 产生更长的哈希值,并且在 64 位系统上稍快(它操作 64 位字)。对于大多数用途,SHA-256 已经足够。

如何在此工具中对文本进行哈希

  1. 在输入字段中输入你的文本。
  2. 选择你想要的算法(MD5、SHA-1、SHA-256、SHA-384、SHA-512、SHA-3)。
  3. 哈希值会在你的浏览器中实时计算,使用 Web Crypto API。
  4. 复制输出并在你的应用程序中使用。

没有任何数据发送到服务器——所有计算都在本地进行。

→ 尝试 文本哈希工具