哈希计算(SHA)

计算文本的 SHA-1、SHA-256、SHA-384、SHA-512 哈希值。

SHA-1

SHA-256

SHA-384

SHA-512

什么是哈希计算(SHA)?

哈希(Hash)计算是把任意长度的输入数据(文本、文件内容)通过哈希算法转换成一段固定长度的摘要值,同样的输入永远得到同样的输出,且理论上极难从摘要反推出原始内容。本工具支持计算文本的 SHA-1、SHA-256、SHA-384、SHA-512 等哈希值,常用于校验文件完整性、生成数据指纹、或在不存储明文的情况下比对内容是否一致。

为什么使用哈希计算(SHA)?

哈希计算常见于下载文件后核对官方公布的 SHA256 校验值,确认文件在传输过程中没有被篡改或损坏;也用于给敏感数据做"指纹",比如存储密码的哈希值而非明文(但登录密码场景更推荐专门的加盐哈希算法而非直接 SHA256,见下方提示)。SHA-1 已被证明存在碰撞风险,安全场景不建议再使用,SHA-256/SHA-512 目前仍被认为是安全的通用哈希算法,被广泛用于区块链、Git 提交哈希、TLS 证书指纹等场景。

使用示例

计算文本 SHA256

输入"hello world",计算 SHA-256 得到固定的 64 位十六进制字符串(b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde),可用于和其他工具计算结果核对算法实现是否一致。

校验下载文件完整性

官网给出某安装包的 SHA-256 值,你可以用系统命令(如 shasum -a 256 file.zip)算出本地文件的哈希,再和本工具算出的官网文本比对;若两者一致说明文件未被篡改。

比较两段内容是否相同

对两段很长的文本分别计算 SHA-256,若两个哈希值完全一致,则可以确定两段内容逐字节相同,无需逐行人工比对。

使用提示

计算得到的哈希值大小写不影响其代表的值本身,比较两个哈希是否相同时建议统一转成小写再比对,避免因大小写不一致误判为不同。

常见问题

这几种哈希算法有什么区别?
SHA-1 已不再安全(存在碰撞攻击),仅建议兼容旧系统时使用;SHA-256/384/512 属于 SHA-2 家族,安全性更高,输出位数依次增加,推荐优先使用 SHA-256。
哈希可以逆向还原原文吗?
不能。哈希是单向函数,只能用于校验内容是否一致(如文件完整性校验),不能从哈希值反推出原始文本。
数据会上传服务器吗?
不会。全部使用浏览器内置的 Web Crypto API(crypto.subtle.digest)在本地计算完成。
SHA256 是加密吗,能解密还原原文吗?
不是加密,是单向哈希(摘要)算法,无法从哈希值还原出原始内容,这一点和 AES、RSA 这类可逆加解密算法完全不同,哈希只能用来做比对验证,不能用来"解密"。
SHA-1 还能用吗?
SHA-1 已被学术界证明存在实际可行的碰撞攻击,不再建议用于数字签名、证书等安全敏感场景,仅适合对安全性要求不高的校验场景(如非安全用途的去重),新项目建议直接使用 SHA-256 及以上。
能直接用哈希值存储用户密码吗?
不建议直接用单纯的 SHA256(密码) 存储登录密码,因为容易被彩虹表暴力破解,正规做法应使用专门为密码设计的算法(如 bcrypt、Argon2、scrypt)并加盐,本工具的哈希计算更适合文件校验、数据指纹等非密码存储场景。
支持计算文件的哈希吗?
部分实现支持上传文件在浏览器本地计算哈希(不上传服务器),如果只提供文本输入框,则需要先将文件内容转成文本或使用系统自带命令行工具计算文件哈希。

相关工具

相关教程

← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。