无需登录 数据私有 本地保存

SHA哈希生成器 - SHA-1/SHA-256/SHA-512在线

17
0
0
0

SHA 哈希生成器

在线生成 SHA-1、SHA-256、SHA-512 哈希值,支持文本与文件哈希计算

字节数:0
SHA-1 160 bit
SHA-256 256 bit
SHA-512 512 bit

拖拽文件到此处

或点击下方按钮选择文件

支持任意类型文件,最大 100MB

正在计算哈希值...
SHA-1 160 bit
SHA-256 256 bit
SHA-512 512 bit
所有计算均在浏览器本地完成,数据不会上传 | 基于 Web Crypto API,快速安全 | 文本使用 UTF-8 编码

常见问题与知识点

SHA(Secure Hash Algorithm,安全哈希算法)是由美国国家安全局(NSA)设计、美国国家标准与技术研究院(NIST)发布的一系列密码哈希函数。它能够将任意长度的数据映射为固定长度的哈希值(也称为消息摘要)。SHA 哈希是单向函数,从哈希值无法反推出原始数据,且极微小的输入变化会导致完全不同的输出(雪崩效应)。

  • SHA-1:生成 160 位(20 字节)哈希值,通常表示为 40 个十六进制字符。已被证明存在碰撞漏洞,不再推荐用于安全场景
  • SHA-256:生成 256 位(32 字节)哈希值,表示为 64 个十六进制字符。属于 SHA-2 家族,目前广泛使用且安全
  • SHA-512:生成 512 位(64 字节)哈希值,表示为 128 个十六进制字符。同样属于 SHA-2 家族,提供更高的安全强度,适用于高安全性要求的场景。

SHA-1 已不再被认为是安全的。2017 年,Google 与 CWI Amsterdam 联合演示了首个实用的 SHA-1 碰撞攻击(SHAttered),证明可以构造两个不同的 PDF 文件拥有相同的 SHA-1 哈希值。目前主流浏览器和操作系统已逐步淘汰 SHA-1。如果您需要用于安全目的(如数字签名、证书验证),请使用 SHA-256 或 SHA-512。SHA-1 仅适用于非安全场景(如简单的数据完整性校验、去重等)。

  • 文件完整性校验:下载文件后对比哈希值,确保文件未被篡改或损坏。
  • 密码存储:网站使用哈希(加盐)存储用户密码,而非明文。
  • 数字签名:对消息哈希值进行签名,验证消息来源和完整性。
  • 数据去重:通过哈希值快速判断数据是否重复。
  • 区块链:比特币等工作量证明系统大量使用 SHA-256。
  • Git 版本控制:使用 SHA-1 标识每个 commit(正在迁移至 SHA-256)。

哈希碰撞是指两个不同的输入产生了相同的哈希值。由于哈希值长度固定而输入无限,理论上碰撞必然存在。但安全的哈希算法应使找到碰撞在计算上不可行。一旦能够高效制造碰撞,攻击者就可以:
  • 伪造数字签名(用恶意文件替代原始文件而签名验证通过)
  • 破坏证书体系(构造伪造的 SSL/TLS 证书)
  • 污染代码仓库(提交恶意代码但哈希值看起来合法)
这正是 SHA-1 被淘汰的核心原因。SHA-256 和 SHA-512 目前仍能有效抵抗碰撞攻击。

文本哈希对文本字符串的 UTF-8 编码字节进行计算,包含所有字符(包括换行符、空格等)。文件哈希对文件的原始二进制字节进行计算。注意:同一段文字保存为文本文件后,其文件哈希值可能与直接输入文本得到的哈希值不同,因为文件可能包含 BOM(字节顺序标记)、不同的换行符格式(\r\n vs \n)等。如需验证文件完整性,请使用"文件哈希"模式上传文件进行计算。

不会。所有哈希计算均在您的浏览器本地完成,使用浏览器内置的 Web Crypto API(crypto.subtle.digest)。您的文本内容和文件数据绝不会离开您的设备,不会上传到任何服务器。即使您断开网络连接,该工具仍可正常使用。您可以放心处理敏感数据。