MD5/SHA 哈希计算

一次性计算 MD5、SHA1、SHA256,多行批量处理

Ctrl+Enter 执行 · Ctrl+K 清空

输入

13

输出

字符数:0|行数:0

使用说明

输入任意文本,点击「计算」同时输出 MD5、SHA1、SHA256 三种摘要。多行文本逐行计算。

关于MD5/SHA 哈希计算

哈希(Hash)函数能将任意长度的输入数据映射为固定长度的摘要值,相同输入始终产生相同输出,而不同输入几乎不可能产生相同输出(即抗碰撞性)。常见的哈希算法包括 MD5(128 位)、SHA-1(160 位)、SHA-256(256 位)、SHA-384、SHA-512 等,分别适用于不同的安全等级与性能需求场景。

在开发中,哈希算法被广泛应用于数据完整性校验、文件指纹、密码存储、数字签名、区块链、内容寻址(如 Git)等场景。MD5 与 SHA-1 已被发现存在碰撞漏洞,不再适合安全场景,但仍可用于非安全用途;SHA-256 是当前推荐的安全哈希算法,被 HTTPS、区块链、JWT 等广泛采用。

本哈希计算工具基于浏览器原生 Web Crypto API(crypto.subtle.digest)实现 SHA 系列(SHA-1、SHA-256、SHA-384、SHA-512),MD5 基于 JavaScript 实现,一次性输出多种算法的哈希值,方便对比与选择。所有计算在浏览器本地完成,敏感数据不离开您的设备。

核心特性

一次算多种算法

粘贴文本即可同时获得 MD5、SHA-1、SHA-256、SHA-384、SHA-512 多种哈希值,无需切换工具。

Web Crypto 原生加速

SHA 系列基于浏览器原生 crypto.subtle API 实现,硬件加速,性能远超纯 JavaScript 实现。

Unicode 完整支持

通过 TextEncoder 以 UTF-8 编码处理输入,对中文、Emoji 等多字节字符计算结果与主流库一致。

多行批量处理

支持一次性输入多行文本,分别计算每行的哈希值,方便批量处理。

本地处理零上传

所有哈希计算在浏览器内完成,包含密码、密钥等敏感文本可放心处理。

使用场景

1

校验文件下载完整性

下载大文件后,对比官方提供的 SHA-256 值与本机计算的哈希值,确保文件未被篡改或下载损坏。

2

生成内容指纹

为文档、代码、配置文件等内容生成唯一哈希指纹,用于去重、版本比对或唯一标识。

3

安全场景开发参考

实现 JWT 签名、HMAC 消息认证、区块链应用时,使用本工具快速验证哈希计算结果是否符合预期。

4

缓存键计算

在前端缓存或 CDN 配置中,常用 URL 或参数的 MD5 作为缓存键,避免特殊字符冲突。

常见问题

MD5 安全吗?能用来存储密码吗?

不安全。MD5 已被证明存在严重碰撞漏洞,不适合用于密码存储、数字签名等安全场景。密码存储请使用 bcrypt、scrypt、Argon2 等专用密码哈希算法,并配合盐值(salt)。

哈希能解密还原原文吗?

不能。哈希是单向函数,无法从哈希值反推出原文。网络上所谓的"MD5 解密"网站实际是通过预先计算的彩虹表(rainbow table)进行碰撞查询,对复杂或加盐的输入无能为力。

为什么我对同一字符串算出的哈希与别的工具不一致?

通常是因为字符编码不一致。本工具使用 UTF-8 编码处理输入,主流工具(如 OpenSSL、Python hashlib)也默认 UTF-8。如果输入包含中文,请确认对方工具也使用 UTF-8 编码。

SHA-256 比 MD5 安全多少?

SHA-256 输出 256 位,MD5 输出 128 位,理论抗碰撞能力差距为 2^128 倍。MD5 已被证明可在普通笔记本上数秒内构造碰撞,而 SHA-256 目前没有任何实际可行的碰撞攻击方法。安全场景必须使用 SHA-256。