📮 订阅更新🧰 工具库

哈希加密工具(2026)

粘贴文本,即时得到 MD5、SHA-1、SHA-256 三种哈希值,支持大小写切换与一键复制;MD5 为纯本地实现,中文按 UTF-8 计算。

哈希不是加密

加密可以解密还原,哈希不能。哈希只保证「同样的输入得到同样的指纹」,常用于校验文件有没有被改动、判断两段文本是否一致。所以本工具叫「哈希」,页面标题沿用了大家更常搜的「加密」。

SHA-1 / SHA-256 使用浏览器原生 Web Crypto(crypto.subtle),MD5 为内置纯 JavaScript 实现;文本不会离开本机。

三个算法怎么选

算法输出长度还安全吗适用场景
MD5128 bit / 32 字符已不安全兼容旧系统、文件校验、缓存键
SHA-1160 bit / 40 字符已不推荐兼容 Git 旧对象、传统校验
SHA-256256 bit / 64 字符安全文件校验、数字签名、区块链

几个真实用例

验证下载文件。官网通常给出 SHA-256 校验值,下载后算一遍,一致就说明文件完整、没被替换。

确认两段文本是否一致。两段长文本逐字对比容易漏,直接比哈希即可;哈希不同则一定不同,哈希相同在理论上存在碰撞但概率极低。

核对接口签名。很多 API 用「参数排序 + 密钥 + 哈希」生成签名,调试时先确认参与哈希的字符串完全一致,再排查编码与排序。

常见踩坑

复制文本时带了换行、中文用 GBK 编码、JSON 少了空格、数字被当成字符串——这些都会让哈希对不上。排查顺序建议:先去掉首尾空白比一次,再确认编码,最后逐段二分定位。

MD5、SHA-1、SHA-256 有什么区别?

三者都是哈希(散列)函数,把任意长度的文本压缩成固定长度的「指纹」:MD5 输出 128 bit(32 位十六进制),SHA-1 输出 160 bit(40 位),SHA-256 输出 256 bit(64 位)。区别在于抗碰撞强度:MD5 和 SHA-1 已被证明可以人为构造碰撞,只能用于校验文件完整性,不能用于密码或签名;SHA-256 目前仍安全。

哈希能解密还原成原文吗?

不能。哈希是单向的,输出不包含原文信息。所谓「MD5 解密」网站,实际是拿常见原文预先算好哈希再反查(彩虹表),只能查到常见密码、常用短语,不是真正的解密。

为什么同一个文本,哈希结果都不一样了?

注意三个常见原因:一是末尾多了空格或换行(复制粘贴时最常见);二是编码不同,中文文本按 UTF-8 还是 GBK 编码,字节完全不同;三是大小写,哈希对大小写敏感。本工具统一按 UTF-8 计算,与 Node.js、Python 的哈希结果一致。

用 MD5 存密码安全吗?

不安全。MD5 计算极快,攻击者一秒能尝试上亿次,且已有大量预计算表。存密码应使用专门的口令哈希算法(bcrypt、scrypt、Argon2),它们可加盐、可调计算成本。本工具只做文本校验,不推荐任何密码存储用法。

哈希值能用来做什么?

常见用途:校验文件是否被篡改(下载后对比官网公布的校验值)、判断两段文本是否完全相同(比逐字对比更省事)、生成缓存键、给数据做指纹去重。签名与鉴权请用 HMAC 或非对称签名,不要直接用裸哈希。

为什么不同工具算出来的 SHA-256 不一样?

先确认输入完全一致(包括不可见字符),再确认编码。有些工具默认按 GBK 处理中文,或自动去除首尾空白。本工具不做任何 trim,原样按 UTF-8 计算;需要复现时可以把文本保存为 UTF-8 文件再用命令行校验。

安全提示

本工具不记录、不上传输入内容。请勿用它存储或比对真实密码;如需口令哈希,请使用 bcrypt / Argon2 等专用算法。

相关工具