HandyTools Hub

哈希生成器

为文本生成 MD5、SHA-1、SHA-256、SHA-512 哈希。

选择算法

输入

输出选项

哈希对比

通过与生成的哈希对比来验证哈希值。

哈希生成器把任意文本变成一串固定长度的”指纹”,支持 MD5、SHA-1、SHA-256、SHA-512 四种算法。输入的同时四种哈希就一起算好了,全程在浏览器本地运行。做校验和、数据比对、接口签名,或者只是想确认两份数据是不是一模一样,这个工具都能派上用场。

哈希函数的原理

密码学哈希函数有三个关键特性。第一是确定性:同样的输入永远得到同样的输出。第二是单向性:只拿着哈希值,没有任何可行的办法还原出原文。第三是雪崩效应——输入改动一个比特,输出大约一半的比特都会变,所以 “hello” 和 “Hello” 的哈希值看起来毫无关联。不管输入多长,输出长度固定:MD5 是 128 位,SHA-1 是 160 位,SHA-256 是 256 位,SHA-512 是 512 位,习惯上用十六进制字符串表示。

输出长度固定,就意味着碰撞必然存在——输入无穷多,输出却有限。算法好坏的区别在于碰撞能不能被人为构造出来。2004 年研究者就造出了实用的 MD5 碰撞,2017 年又公开演示了 SHA-1 碰撞,这两个算法从此退出了安全领域。如今做完整性校验、数字签名、证书指纹,标准选择是 SHA-256 和 SHA-512。

如何使用

  • 输入文本: 在输入框中输入或粘贴您的文本
  • 选择算法: 选择 MD5、SHA-1、SHA-256、SHA-512
  • 生成: 即时查看生成的哈希
  • 复制: 将任意哈希复制到剪贴板

功能特性

  • 支持 MD5、SHA-1、SHA-256、SHA-512
  • 实时哈希生成
  • 一键复制到剪贴板
  • 同时生成多种哈希

使用场景

下载完文件,拿官网公布的校验和核对一下完整性;比对两份 API 响应或数据库导出,不用逐行 diff;联调接口时手工算签名;或者看看某个密码进数据库后长什么样——不过正经系统存密码一定要加盐,并且用 bcrypt、Argon2 这类专门的密码哈希算法,而不是裸的 SHA。

相关工具

常见问题

什么是哈希函数?

哈希函数将输入数据转换为固定长度的字符串,通常是十六进制数字。

MD5 还安全吗?

由于已知漏洞,不建议将 MD5 用于安全目的。安全应用请使用 SHA-256 或 SHA-512。

哈希能反推出原文吗?

不能。哈希函数在设计上就是单向的,攻击者只能不断猜测输入再比对哈希值,所以强密码和加盐才那么重要。

哈希计算是在哪里完成的?

全部在你的浏览器本地完成,输入的文本不会发送到任何服务器。