Hash Generator
One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run · Ctrl+Shift+C Copy · Esc Clear
Understand Hash Generator
完全在你的浏览器中计算你粘贴的文本或所选文件的 MD5、SHA-1、SHA-256、SHA-384 或 SHA-512 摘要。
How it works
密码学哈希把任意长度的输入映射为固定长度的摘要——MD5 为 128 位,SHA-256 为 256 位——翻转输入中的一个比特,大约会改变输出的一半比特。该函数是单向的:没有任何运算能把它反着跑,因此要找到与某个摘要对应的输入,只能不断对候选值做哈希直到命中。SHA 摘要通过 crypto.subtle.digest 由浏览器 WebCrypto API 计算;WebCrypto 不提供 MD5,因此它由页面内的一份本地 RFC 1321 实现计算。所选文件会被直接读入 ArrayBuffer 并按字节哈希,因此不存在任何文本解码来改变它。
When to use it
- 核对下载的文件是否与其旁边公布的 SHA-256 校验和一致。
- 为缓存键、ETag 或去重生成稳定的内容指纹。
- 复现服务器记录的某个摘要,确认双方哈希的是完全相同的字节。
- 在不逐行比较的情况下判断两份配置数据或载荷是否不同。
- 在学习摘要长度到底意味着什么时,对比 MD5 与 SHA-256 的输出。
Watch out for
- MD5 和 SHA-1 在安全用途上已被攻破。两者都存在可实施的碰撞攻击——可以构造出摘要相同的两个不同输入——因此它们不得用于支撑签名、证书,或任何由攻击者挑选输入的校验。作为防范意外损坏的校验和,它们依然可用。
- 快速哈希是处理密码的错误工具。SHA-256 的设计目标就是快,普通 GPU 每秒能算上十亿次。密码存储需要刻意放慢的函数:bcrypt、scrypt 或 Argon2id。
- 哈希不是加密,而摘要也并不总是机密。摘要无法被逆转,但低熵的输入——电话号码、邮政编码、电子邮件地址——只要把每个候选值都哈希一遍再比对,几秒钟就能找出来。
- 同样可见的文本可能产生不同的摘要。行尾多一个换行、用 CRLF 而不是 LF,或者带上 UTF-8 字节序标记,都会改变字节,从而改变哈希。请比较实际被编码的内容,而不是屏幕上看起来一样的东西。
Not the right tool for: 超大文件。所选文件会被一次性整体读入内存,因此几个 GB 的镜像会在算完之前先耗尽标签页。这类文件请在本地用 sha256sum、shasum -a 256 或 Get-FileHash 校验,它们从磁盘流式读取。
Frequently Asked Questions
MD5 现在还安全吗?
不安全。MD5 在密码学上已被攻破,不应用于密码哈希、数字签名这类安全敏感场景。它在校验和以及非安全用途的指纹计算中仍然有用。
我该用哪种哈希?
安全用途:SHA-256 或 SHA-512。一般校验和:任意一种都可以。安全用途请避免 MD5 和 SHA-1,它们存在已知的碰撞漏洞。
这是在我的浏览器里计算的吗?
是的,所有哈希运算都完全在你的浏览器中完成,SHA 使用 WebCrypto API,MD5 使用本地实现。你的数据不会离开你的设备。
How to Use Hash Generator
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.