哈希值计算(MD5/SHA)

一键计算任意文本的 MD5、SHA-1、SHA-256、SHA-384、SHA-512 哈希值。适合做文件校验、缓存键、去重,以及在不逐字比对的情况下确认两段内容是否一致

🌍 全球访问 🔒 隐私优先 ⚡ 即时转换 💯 无限使用
Advertisement

从一段文本或一个文件生成哈希值:MD5、SHA-1、SHA-256、SHA-384 和 SHA-512。哈希常用于验证下载是否完整、在不打开文件的情况下比较两个文件,以及在不保留原始值的前提下保存它的指纹。

MD5 和 SHA-1 速度很快,但面对刻意构造的碰撞已不再被认为是安全的——把它们用于完整性校验,而不是安全用途。任何与安全相关的场景都应选择 SHA-256 或更强的算法。哈希在本地计算,因此你可以检查一个密码或 API 密钥,而无需把它发送到任何地方。

如何生成 MD5、SHA-1 或 SHA-256 哈希值

1

输入文本或选择文件

2

选择哈希算法

3

复制十六进制哈希值

常见问题

我应该选哪种算法?

与安全相关的用途请选 SHA-256,MD5 或 SHA-1 只用于快速完整性校验,以及那些仍然要求使用它们的旧系统。

相同的输入总是得到相同的哈希值吗?

是的,这正是哈希函数的意义。只改动一个字符,得到的哈希值就会完全不同。

可以对文件做哈希吗?

可以,选择一个文件就会直接对它的字节做哈希——这是把下载内容与已公布的校验和进行核对的常规做法。

哈希可以反推吗?

不能。哈希在设计上就是单向的;唯一可行的攻击方式是猜测输入再逐一比对,这也是短密码需要用慢速算法加盐的原因。

它适合用来保存密码吗?

直接使用并不适合。保存密码需要刻意设计得很慢的算法,例如带每用户盐值的 bcrypt、scrypt 或 Argon2。创建密码请改用「密码生成器」。

我的输入会被上传吗?

不会,哈希值是在你的浏览器中计算的。

Advertisement

一览

输入文本
多个文件否
运行位置在你的浏览器中——文件永远不会被上传
离线可用是 — 页面加载完成后
价格免费,无需注册,无水印

安全地处理机密信息

开发者工具处理凭据的频率比人们意识到的更高,而风险不在于算法,而在于数据去了哪里。哈希是单向的,它不是加密——MD5 和 SHA-1 在任何与安全有关的用途上都已被攻破,即使是 SHA-256,用来存储密码也是用错了工具,bcrypt、scrypt 或 Argon2 存在的意义恰恰就是慢。Base64 是一种编码,不是保护:任何人都能解码,所以千万不要把它当作混淆。JWT 任何持有它的人都能读取,因此载荷里绝不能放机密,而解码一个令牌并不验证它的签名——验证需要密钥。本站的一切都在你的浏览器中本地运行,这正是它能够安全处理令牌和密码的原因。

转换在哪里悄悄出错

大多数转换缺陷与语法无关,而与含义有关。一列邮编的 CSV 字段会在表格软件猜它是数字的那一刻丢掉前导零;一个很长的 ID 会超出浮点精度;日期会因为先写日还是先写月而意思大变。JSON 的键是无序的,但数组是有序的,排序键的工具不会改变任何东西,而排序数组的工具会改变数据。Unicode 是另一个陷阱:文本可能以 UTF-8、UTF-16 或带字节顺序标记的形式到来,解码器猜错就会把带重音的字符变成乱码。在信任任何转换之前,抽查第一行和最后一行、任何带前导零的字段,以及任何含有引号、逗号或换行的字段。