WALUDO 工具箱
CRYPTO.01 SHA-256 HASH

SHA-256 哈希生成器

文本、文件与 HMAC 共用一套摘要结果;Hex、Base64 和校验比对首屏可见,文件只在浏览器内读取。

SOURCE

输入内容

等待输入
DIGEST

SHA-256 摘要

Hex 小写
Hex 大写
Base64
Base64URL
等待校验值
§ 01

如何生成与校验 SHA-256

1
1

选择输入类型

文本用于字符串摘要,文件用于下载校验,HMAC 用于带共享密钥的消息认证。

2
2

读取摘要

结果同时提供小写 Hex、大写 Hex、Base64 和 Base64URL,不需要重复计算。

3
3

按需比对

把发布方提供的 64 位十六进制值放入校验框,页面会即时比较且不区分大小写。

§ 02

摘要用于完整性,不用于隐藏内容

SHA-256 会把任意长度输入映射成固定 256 bit 摘要。输入哪怕只变化一个字节,结果也会大幅改变,因此适合文件校验、内容寻址和数字签名流程。

摘要不包含保密能力。任何拿到相同输入的人都能计算同样结果;需要验证共享密钥时应使用 HMAC,需要隐藏内容则应使用经过审查的加密方案。

§ 03

常见哈希用途对比

方案
用途
建议
SHA-256
文件与内容完整性
通用、安全的现代摘要
HMAC-SHA256
带共享密钥的消息认证
API 签名与 Webhook 校验
MD5
兼容旧校验和
不用于安全场景
密码哈希
用户密码存储
使用 Argon2id、scrypt 或 bcrypt
§ 04

在代码中计算 SHA-256

const bytes = new TextEncoder().encode('hello');
const digest = await crypto.subtle.digest('SHA-256', bytes);
§ 05

常见问题

Q1SHA-256 是加密吗?

不是。SHA-256 是单向哈希函数,输出固定 256 bit 摘要,不能像加密文本那样用密钥还原原文。

Q2可以用 SHA-256 直接保存密码吗?

不建议。密码存储应使用带盐且可调成本的专用算法,如 Argon2id、scrypt 或 bcrypt,以抵抗高速猜测。

Q3普通哈希和 HMAC-SHA256 有什么区别?

普通哈希只依赖消息;HMAC 还依赖共享密钥,可验证消息完整性和持有密钥的一方。不要把普通摘要当作身份认证。

Q4为什么文件摘要可以用于下载校验?

相同字节会得到相同摘要。把本地计算值与发布方可信渠道提供的校验和比较,可以发现下载损坏或内容被替换。

Q5文件会上传吗?

不会。文件通过浏览器 File API 读取,并由 Web Crypto 在本地内存中计算,不发送到服务器。

✳ WALUDO TOOLBOX ✳ 浏览器原生工具集 · NO SERVER · NO DATA COLLECTION

您的文件永远不会离开您的电脑 · FILES STAY LOCAL · PRIVACY FIRST