SHA-256 哈希
免费在线 SHA-256 哈希计算器:支持文本、文件与批量模式,可同时输出 MD5 / SHA-1 / SHA-256 / SHA-384 / SHA-512 五种摘要。Hex / Base64 自由切换,拖拽即算,纯浏览器本地运行,零上传。
相关推荐
使用 HMAC-SHA256 签名接口请求
从纯 SHA-256 升级到带密钥的 HMAC,用于接口签名
解码并校验 HS256(HMAC-SHA256)JWT 令牌
检查基于 HMAC-SHA256 的 JWT 签名
在线生成 SHA-512 摘要(512 位,128 个十六进制字符)
SHA-2 家族中强度更高的 512 位变体
在线计算 MD5 哈希用于遗留系统校验
并行计算 MD5,满足多算法交叉校验流程
在线计算 SHA-1 用于 Git 和 apt 校验
与 SHA-256 一起输出,兼容遗留系统
流式计算大文件的 SHA-256 校验值
增量计算多 GB 级别大文件的 SHA-256 摘要
SSL证书检测
密码生成器
什么是SHA-256 哈希?
SHA-256 是一种密码学哈希函数,属于 SHA-2 家族,由美国国家安全局(NSA)设计,并由 NIST 在 FIPS 180-4(2012)中标准化。它接受任意长度的输入——从空字符串到数 GB 的文件——并输出固定 256 位(64 字符十六进制)的摘要。
算法以 512 位(64 字节)为一块进行处理,共 64 轮混合。内部维护 8 个 32 位状态字(A 至 H),由前 8 个质数的平方根推导出的常量初始化。每轮使用比特旋转、异或、加法以及两个非线性函数 Ch(选择)和 Maj(多数)。每轮常量来自前 64 个质数的立方根,赋予算法强雪崩效应:输入变化 1 比特,输出约一半的比特会发生翻转。
截至 2026 年,针对完整 64 轮 SHA-256 尚未出现已知的实际碰撞攻击或原像攻击。已公开的最佳密码分析仅能攻击减轮变体。其抗碰撞强度约 2^128 次操作,远超任何实际对手的能力,因此 SHA-256 广泛用于 TLS 证书签名、比特币工作量证明、文件完整性校验以及 IPFS、现代 Git 等内容寻址系统。
SHA-256 不适合用于密码存储。它是快速哈希——现代 GPU 每秒可计算数十亿次摘要——攻击者一旦窃取 SHA-256 密码库,可以快速暴力破解常见密码。密码场景应使用慢速加盐 KDF,如 Argon2id、scrypt 或 bcrypt。其他场景下,SHA-256 是现代默认选择。
SHA-256 由 NIST 在 FIPS 180-4 中标准化,由 IETF 在 RFC 6234 中定义,被美国政府批准用于联邦信息系统。它是 NIST SP 800-131A Rev. 2 转换指南中推荐使用的默认算法,也是 CMS、TLS 1.3 和 PGP 签名中唯一仍被接受用于新实现的哈希函数。
适用场景
- 验证下载的安装包、镜像或附件是否与官方提供的 SHA-256 指纹一致
- 联调开放平台接口(AWS SigV4、OAuth、JWT HS256、Webhook)时生成 SHA-256 摘要
- 数据库、备份或网络传输前后校验文件完整性
- 批量生成多行配置、密码本或测试数据的 SHA-256 摘要
- 调试 HMAC-SHA256 接口签名,复现服务端期望的摘要值
- 学习密码学时对比 SHA-256 与 MD5、SHA-1、SHA-512 的输出差异
使用方法
- 选择计算模式:文本、文件、批量或 HMAC
- 输入文本、拖入文件或粘贴批量内容(文本模式实时计算)
- 可选开启「多算法」一次性输出 MD5/SHA-1/SHA-256/SHA-384/SHA-512
- 按需切换 Hex/Base64 输出,一键复制结果
Output Example
A real MP3 file encoded to a Data URI — copy-ready:
输入 : hello world SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9 输入 : (空) SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
功能特点
- 五种算法同屏:MD5、SHA-1、SHA-256、SHA-384、SHA-512 并行计算,便于交叉校验
- 文本 / 文件 / 批量 / HMAC 四种模式:覆盖接口签名、文件校验、批量摘要等常见场景
- Hex / Base64 自由切换:满足 JWT、AWS SigV4、OAuth 等不同接口签名格式
- 拖拽上传:直接拖入安装包、镜像等本地文件,无需上传,100% 浏览器本地计算
- Verify 校验:粘贴期望哈希值,实时显示「匹配 / 不匹配」
- 大写输出:可选大写格式,方便与官方文档对照
- UTF-8 / Latin-1 编码可选:兼容不同系统生成的哈希输入
- Web Crypto API:使用浏览器原生实现,零依赖、零网络请求
代码示例
空字符串的 SHA-256
text空字符串有且只有一个公开的 SHA-256 摘要,在日志、缓存、CDN 和存储系统中随处可见。
输入 : (空) SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
"hello" 的 SHA-256
textSHA-256 实现的经典测试向量,许多密码学库使用此字符串作为自检用例。
输入 : hello SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
"hello world" 的 SHA-256
text网络上引用最多的 SHA-256 示例,常见于教程、RFC 和维基百科。
输入 : hello world SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
JavaScript 计算 SHA-256(Web Crypto API)
javascript用浏览器原生 Web Crypto API,4 行代码即可在生产环境计算 SHA-256,零依赖、零上传。
const buf = new TextEncoder().encode('hello')
const hash = await crypto.subtle.digest('SHA-256', buf)
const hex = [...new Uint8Array(hash)]
.map(b => b.toString(16).padStart(2, '0'))
.join('')
console.log(hex)
// 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824Python 计算 SHA-256
pythonPython 3.6+ 标准库自带 SHA-256,无需安装任何依赖。
import hashlib print(hashlib.sha256(b'hello').hexdigest()) # 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
命令行计算 SHA-256
bash一行命令即可校验下载文件。macOS 自带 shasum -a 256,Linux 自带 sha256sum。
$ echo -n 'hello' | sha256sum 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 - $ sha256sum installer.dmg e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 installer.dmg
常见问题
什么是 SHA-256?它的工作原理是什么?
SHA-256 是 SHA-2 家族的密码学哈希函数,由 NSA 设计、NIST 在 FIPS 180-4 中标准化。它以 512 位为一块进行处理,共 64 轮比特混合,最终输出固定 256 位(64 字符十六进制)的摘要。截至 2026 年,针对完整 64 轮 SHA-256 尚无已知的实际碰撞或原像攻击。
可以用 SHA-256 验证下载文件是否被篡改吗?
可以。大多数软件发布者(Linux 发行版、Docker 镜像、npm 包等)会在下载链接旁公布 SHA-256 校验值。下载完成后,本地计算文件的 SHA-256 摘要并与公布值对比,若完全一致则文件与发布者版本逐字节相同。
为什么很多人更常用 SHA-256 而不是 MD5?
MD5 已被公开的碰撞攻击攻破(消费级硬件上几秒即可构造前缀碰撞),因此不再适用于安全场景。SHA-256 输出 256 位摘要,经过 25 年公开审查无已知实际攻击,并被 NIST 批准用于联邦场景。新项目需要哈希时,SHA-256 是默认选择。
SHA-256 可以反向解密吗?
不能。SHA-256 是单向函数:从摘要反推原始输入在计算上不可行。实际可行的「反查」方式是查询彩虹表——即预计算的输入→摘要对照库——这也是为什么在存储密码时必须加盐。
SHA-256 适合用来存密码吗?
不适合,应改用慢速加盐的密钥派生函数。SHA-256 是快速哈希,攻击者拿到 SHA-256 密码库后可以在一块 GPU 上每秒暴力枚举数十亿候选。推荐使用 Argon2id(首选)、scrypt 或 bcrypt,并为每个用户使用独立盐值。如果必须使用 PBKDF2,至少使用 PBKDF2-HMAC-SHA256 并设置足够大的迭代次数。
SHA-256 适合接口签名和 HMAC 调试吗?
非常适合。AWS SigV4、GitHub Webhooks、Slack 签名密钥、JWT HS256、OAuth 1.0a 等主流接口签名方案都依赖 HMAC-SHA256。本工具支持 UTF-8 / Hex / Base64 三种密钥编码方式,便于端到端复现或调试签名。
SHA-256 和 SHA-3 有什么区别?
两者都输出 256 位摘要且安全性相当,但内部结构不同。SHA-256 基于 SHA-2 家族(FIPS 180-4)的 Merkle–Damgård 结构;SHA-3 是 NIST 2012 年选定的海绵结构 Keccak 算法。SHA-3 适合需要长期密码学敏捷性的场景;SHA-256 目前的实际部署更广泛。
为什么 SHA-256 被用在比特币和区块链中?
比特币的工作量证明、区块头、交易 ID 和 Merkle 树承诺都使用 SHA-256(有时连续两次,称为 double-SHA-256)。SHA-256 提供的固定长度输出、抗碰撞性、快速验证、确定性结果,恰好是分布式账本需要用来检测篡改、达成共识的关键属性。
我输入的数据会上传到服务器吗?
不会。所有哈希计算都在你的浏览器本地通过 Web Crypto API 完成。你键入、粘贴或拖入的任何内容都不会通过网络传输。本页面加载完成后可以离线使用。
空字符串的 SHA-256 是什么?
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855。这是空字符串的标准 SHA-256 摘要,被许多密码学库用作自检向量。
Privacy & Security
本 SHA-256 计算器 100% 在你的浏览器中运行,使用浏览器原生 Web Crypto API。无论你输入文本、上传文件还是粘贴批量数据,都只在本地进行哈希处理,不会发送到任何服务器。我们不会对哈希输入做埋点、不记录日志、不缓存摘要,也不在工具页面上放置任何第三方追踪脚本。Verify 校验的比对同样在客户端完成。可放心处理敏感内容:API 密钥、内部文件名、HMAC 密钥、客户数据等所有你不会随便粘贴到陌生在线 SHA-256 工具的内容。
Supported Video Formats
| Format | MIME | Browser support | When to use |
|---|---|---|---|
| MD5 | 128 位(32 Hex) | 全平台 | 碰撞已被攻破,仅用于非安全场景的校验和与遗留兼容。 |
| SHA-1 | 160 位(40 Hex) | 全平台 | 已于 2017 年被 SHAttered 攻破,新系统请改用 SHA-256。 |
| SHA-256 | 256 位(64 Hex) | Web Crypto API | 现代默认。TLS、文件完整性、比特币、Git、JWT HS256 与 HMAC-SHA256 首选。 |
| SHA-384 | 384 位(96 Hex) | Web Crypto API | 截断版 SHA-512,常见于 TLS 1.2 密码套件与 DNSSEC NSEC3。 |
| SHA-512 | 512 位(128 Hex) | Web Crypto API | SHA-2 中强度最高的变体,64 位 CPU 上比 SHA-256 更快。 |
| SHA-3 / Keccak | 256 / 512 位 | 部分支持 | 2012 年 NIST 胜出者,sponge 结构。长期密码学敏捷性场景推荐。 |
Authoritative References
- 安全字符串比较
- 二进制编码解码
- 凯撒密码
- 摩尔斯电码
- 十六进制编码解码
- 视频转 Base64
- Base64 转视频
- 图片转 Base64
- Base64 转图片
- 文本转 Base64
- Base64 转文本
- 文件哈希校验
- 文件转 Base64
- Base64 转文件
- 音频转Base64
- Base64转音频
- AES 加密解密
- DES 加密解密
- Base32 编码解码
- Base58 编码解码
- Base64 编码
- Base64 解码
- Base64 比较
- Base64 拆分
- Base64 多行合并
- Base64 格式化
- Base64 格式校验
- Base64 批量编码
- Base64 批量解码
- Base64 清理
- Base64 填充处理
- Base64 长度统计
- Base64 转十六进制
- Base64 DataURL 转换
- Base64-Hex 互转
- Base85 编码解码
- HMAC 生成与验证
- PBKDF2 密钥派生
- MD5 哈希值
- SHA-256 哈希
- SHA1 哈希
- SHA512 哈希
- JWT 解码、验证与生成
- HTML 编码解码
- Unicode 转义
- URL 编码
- URL Safe Base64
- MIME Base64
- Java 代码混淆
- JavaScript 代码混淆
- PHP 混淆
- Python混淆