关于密码哈希
密码哈希函数接受任意输入并产生固定长度的十六进制字符串。输入即使有微小变化,输出也会完全不同。这使哈希适用于验证文件完整性、存储密码和数字签名。
SHA-256 和 SHA-512 属于 SHA-2 系列,目前对大多数用途仍然安全。SHA-1 对碰撞攻击存在漏洞,仅因兼容性和旧版目的收录。MD5 因浏览器安全策略(Web Crypto API)不可用。
输入任意文本,即时查看 SHA-1、SHA-256、SHA-384 和 SHA-512 摘要。
密码哈希函数接受任意输入并产生固定长度的十六进制字符串。输入即使有微小变化,输出也会完全不同。这使哈希适用于验证文件完整性、存储密码和数字签名。
SHA-256 和 SHA-512 属于 SHA-2 系列,目前对大多数用途仍然安全。SHA-1 对碰撞攻击存在漏洞,仅因兼容性和旧版目的收录。MD5 因浏览器安全策略(Web Crypto API)不可用。
生成 SHA 哈希时,把文字的 UTF-8 字节输入选定的哈希算法(SHA-1、SHA-256、SHA-384 或 SHA-512),算法会通过固定轮次的位运算处理数据,输出固定长度的十六进制摘要。例:"hello" 的 SHA-256 哈希值始终是 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824。
| 算法 | "hello" 的哈希值 |
|---|---|
| SHA-1 | aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d |
| SHA-256 | 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 |
| SHA-384 | 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f |
| SHA-512 | 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043 |
SHA-1 已经不适合用于数字签名或证书验证等安全场景,因为研究人员在 2017 年展示了一次实际可行的碰撞攻击(两个不同输入产生相同哈希值)。这里保留 SHA-1 只是为了兼容旧系统和简单校验和等非安全用途;涉及安全的场景请使用 SHA-256 或更高强度的算法。
本工具使用浏览器内置的 Web Crypto API(crypto.subtle.digest),它支持 SHA-1 和 SHA-2 系列,但没有实现 MD5,因为 MD5 已被认为在密码学上不再安全,浏览器厂商也没有把它加入标准接口。
不能。密码学哈希函数在设计上就是单向函数——没有算法能从摘要还原出输入。那些看起来能"破解"哈希的工具,实际上是对大量候选内容逐一计算哈希再比对结果,而不是把数学运算反过来算。
哈希用来验证数据是否被改动:把下载文件的哈希值和官方公布的哈希值比对可以确认文件完整,把密码的哈希值(配合适当加盐)进行比对,可以让系统在不存储明文密码的情况下验证登录。
本工具在浏览器内使用 Web Crypto API 对 UTF-8 文本做哈希运算,不对上传的文件做哈希,不提供 MD5,也不添加盐值,因此相同的输入文本始终会得到这里显示的同一个哈希值。
最后更新: 2026-08-17