哈希生成器

哈希函数将任意长度输入映射为固定长度摘要,用于完整性校验、缓存键与密码存储前的预处理。本工具在本地计算 MD5、SHA-1、SHA-256、SHA-512 等常见算法,便于对比 API 签名文档或验证下载文件 checksum。需要带密钥的摘要请用 hmac-generator,密码存储请用 bcrypt。

阅读完整指南: 本地优先:在线工具如何处理你的数据 →

隐私提示:本地解析,不上传服务器。

↓ 在下方输入区粘贴内容,结果会立即显示

算法
输出格式

在此输入要哈希的文本

输入后自动生成哈希值,可切换算法与输出格式。

输出结果

哈希值

91a0b09db491b0c95c501fd36b8dd559bdba1471f4a634c33314965531c78715

注释说明

哈希说明

哈希是单向摘要,无法从结果还原原文。常用于校验文件完整性、密码存储(需加盐)等场景。 当前算法:SHA-256。

比对哈希

哈希函数将任意长度输入映射为固定长度摘要,用于完整性校验、缓存键与密码存储前的预处理。本工具在本地计算 MD5、SHA-1、SHA-256、SHA-512 等常见算法,便于对比 API 签名文档或验证下载文件 checksum。需要带密钥的摘要请用 hmac-generator,密码存储请用 bcrypt。

快速开始

  1. 输入文本

    粘贴或键入要计算哈希的内容。

  2. 选择算法

    常用 SHA-256;遗留系统可能用 MD5。

  3. 复制或比对

    一键复制结果; 或在底部输入另一段哈希比对。

哈希是什么

哈希把任意长度输入变成固定长度摘要; 相同输入永远得到相同输出。

它是单向的:无法从哈希反推原文; 因此不能替代加密。

该选哪种算法

新系统推荐 SHA-256 或 SHA-512。MD5、SHA-1 仅用于兼容旧接口。

典型工作流

开发中常用哈希验证配置一致性:本地生成配置文件哈希后,与服务器配置比对。若哈希值不同,说明配置被修改过。例如部署前端时,用 SHA-256 校验 build 文件是否完整。

自动化脚本中,哈希可确保接口请求未被篡改。先对请求参数排序后生成 MD5 摘要,服务器用相同算法验证。调试时在本工具快速生成对照值,比手动计算更高效。

MD5 与 SHA 家族选型

MD5 与 SHA-1 因碰撞攻击已不适合安全场景,仅用于遗留 API 签名对照或 checksum 兼容。新系统应优先 SHA-256;大文件完整性或合规场景可用 SHA-512。本工具在浏览器本地计算,适合对照文档示例或验证「同一字符串是否产生相同 digest」。

密码存储禁止直接用 MD5/SHA 裸哈希——无 salt、可被彩虹表破解。请用 bcrypt 工具理解 cost factor;HMAC 场景用 hmac-generator。调试 Webhook 时,hash-generator 复现 payload digest,与 jwt-decoder 验签 JWT 是不同流程。

文本哈希 vs 文件哈希

本工具对输入文本做 UTF-8 字节哈希。在线「文件 MD5」工具对二进制流哈希——同一文件名若编码不同(UTF-8 BOM、Windows CRLF)会导致 digest 不一致。对比 npm integrity 或 Docker manifest 时,确认算法名与编码一致。

比对两个 digest 时,注意大小写:十六进制通常小写,部分系统输出大写。SHA-256 输出 64 字符 hex;截断比较(只比前 8 位)仅适合非安全场景的 quick check。

安全与隐私

哈希输入可能含 API secret、session token 或 PII。虽不上传 Towalles 服务器,仍勿在公开频道粘贴原文。样本用 test/fixture 字符串;生产 secret 泄露后应轮换而非仅删除消息。

配合 password-strength 教育团队:展示「常见密码的 SHA-256」不等于安全存储。配合 json-formatter 格式化含 checksum 字段的 API 响应后再人工核对。

对照文档签名与 Webhook 摘要

对接第三方「签名原文」说明时,先按文档对字段排序与拼接(常忽略空值、指定分隔符),再用本工具对同一字符串计算 SHA-256/MD5。结果不一致时,优先查编码与换行,而不是换算法。Webhook 若要求 HMAC,应改用 hmac-generator——裸哈希与带密钥摘要不是同一流程。

把文档示例与本地拼接结果并排保存到事故笔记;用 json-formatter 整理含 checksum 字段的 JSON 响应后再人工比对 hex。生产密钥样本请替换为 fixture,对照通过后轮换任何曾粘贴的真实 secret。

缓存键与内容寻址实践

许多缓存层用「规范化 JSON + SHA-256」生成键。规范化失败(键序、空白不同)会导致命中率骤降。先用 json-formatter 统一缩进与键序策略,再对稳定字符串哈希。CDN 或对象存储 ETag 场景同样依赖字节级一致。

切勿把用户密码的裸 SHA 当缓存键或会话标识。会话应用不可预测的随机 token;密码存储用 bcrypt。本工具适合 integrity 与调试,不适合认证材料设计。

发布产物校验与供应链核对

下载开源二进制或容器层时,对照发布页公布的 SHA-256:把文件拖入本地哈希工具,或在本页粘贴「规范化后的文本清单」做二次核对。若官方只给了 SHA-512/Blake2,先确认算法再比 digest——算法名写错会导致「永远对不上」。企业内网镜像若改写了文件名但未改字节,哈希应保持不变。

把「期望哈希、本地哈希、下载 URL、时间」记入发布检查清单。对 Git 标签与 release asset 一并核对;签名(GPG/cosign)与裸哈希互补,不要互相替代。可疑不一致时停用该产物并改走官方二次渠道。

调试「同文不同哈希」的清单

按顺序排查:1) 换行 CRLF vs LF;2) 末尾是否多空格;3) UTF-8 BOM;4) Unicode 规范化(NFC/NFD);5) 是否把「显示用省略」当成原文。先用 json-formatter 或文本 diff 固定字节,再哈希。Markdown 预览与源文件常不一致。

团队约定:对外公布的校验字符串一律小写 hex、无空格、指定算法。文档示例与 CI 断言共用同一 fixture,避免人工抄写错误。

发布工件校验与供应链核对

发布 zip/npm tarball 或容器层时,把官方公布的 SHA-256 与本工具对本地文件/字符串算出的 digest 对照。不一致时先排除换行与「下载了 HTML 错误页」——把前几十字节用 hex 查看比盲目重下更省时间。CI 里应用同一算法与同一规范化规则,人工工具只做抽查。

若供应商只给 MD5,仍可在本工具计算以便沟通,但新流水线应同时产出 SHA-256。切勿把「哈希一致」当成「内容安全」——恶意包也可以公布自己的哈希;完整性校验要配合签名与可信发布渠道。

调试「同一输入不同哈希」清单

按顺序核对:UTF-8 vs 其他 charset、LF vs CRLF、是否含不可见 BOM、JSON 键序是否被重新序列化、是否误把「带引号的字符串」整段哈希。用 json-formatter 固定序列化策略后再哈希;文本场景先统一换行再计算。

把复现步骤写成两人可执行的短清单:输入样例、算法、期望 hex。事故关闭后把样例放进仓库 fixture,避免下次再靠聊天记录猜。

示例

示例

Input

Towalles

Output

8f4e…(SHA-256)

相同文本 + 相同算法 = 相同哈希。

FAQ

哈希能解密吗?

不能。哈希是单向摘要; 不是加密。

为什么和线上下载工具的 MD5 不一致?

本工具对文本做哈希。文件工具对二进制字节流哈希; 编码不同结果会不同。

数据会上传吗?

不会; 全部在浏览器本地计算。

为什么相同文本的 MD5 结果和其他工具不同?

可能是编码或换行符差异。本工具默认使用 UTF-8 编码且保留所有空白符。检查是否包含不可见字符(如空格、制表符),或用 Hex 模式比对原始字节。

哈希能还原原文吗?

不能。加密哈希设计为单向;仅暴力或彩虹表可猜弱输入。

为什么与 openssl 结果不同?

编码、换行符或算法名(sha256 vs SHA256)不一致会导致差异。确认 UTF-8 无 BOM。

适合存密码吗?

不适合。请用 bcrypt;本工具适合 integrity 与调试。

HMAC 场景能否用本工具?

不能替代。HMAC 需要密钥;请用 hmac-generator,并保证 body 字节与网关收到的一致。

空白不同会改变哈希吗?

会。多一个空格或换行都会产生完全不同的 digest。对比前统一换行与编码。

MD5 还能用于完整性吗?

仅可作非对抗场景的快速校验;对外发布与安全敏感完整性请用 SHA-256 及以上。

哈希能证明来源吗?

不能。哈希只证明字节未改;来源需签名、可信分发渠道或证书体系。

文件哈希和字符串哈希有何区别?

本质都是对字节摘要。差异在你如何得到字节:文件是原始字节;文本框可能经过编辑器换行转换。对照官方值时必须明确对象。