哈希生成器 适用于 MD5、SHA-1、SHA-256 等
输入或粘贴任意字符串,即可在浏览器中即时生成六种常用哈希值,无需将数据发送到服务器。
输入
哈希值在您输入时实时刷新。空白字符和换行符将按原样包含。
SHA-1
SHA-224
SHA-256
SHA-384
SHA-512
算法对比
所有六种算法均在您的浏览器中运行。了解它们之间的差异有助于您为每项任务选择正确的算法。
哈希函数的工作原理
哈希函数接受任意输入 - 单个字符或整个文件 - 并生成一个称为摘要的固定长度字符串。两次输入相同的内容,总会得到完全相同的输出。哪怕改变一个字节,摘要也会完全改变。这就是雪崩效应。
哈希是一种单向操作:不存在能从摘要重建原始输入的数学逆运算。这一特性使哈希在无需存储文件本身的情况下验证文件完整性,以及在无需保存明文的情况下确认密码匹配方面非常有用。
抗碰撞性是现代算法与已弃用算法的区别所在。碰撞是指两个不同的输入产生相同的摘要。MD5 和 SHA-1 容易受到人为构造的碰撞攻击,这也是它们不再被用于安全敏感任务的原因。SHA-256 及以上版本目前没有已知的实际碰撞。
选择正确的算法
- MD5 仅用于旧版工具要求的非安全校验和。绝不用于密码或签名。
- SHA-1 新项目请避免使用。仅在与尚未迁移的系统互操作时可接受。
- SHA-256 适用于大多数场景的安全默认选择:文件验证、API 请求签名、HMAC 密钥。
- SHA-512 在构建密码哈希流程或需要更大摘要以获得额外安全余量时优先选择。
- SHA-384 用于浏览器子资源完整性 (SRI) 属性和 TLS 1.3 兼容的密码协商。
- SHA-224 在对摘要大小有严格限制的受限设备或协议中有小众用途。
常见问题
关于哈希函数及如何安全使用它们的常见问题。
不能。哈希函数在设计上是单向的。不存在能从摘要还原原始字符串的数学逆运算。那些看似能破解"哈希的攻击,实际上是字典查找或暴力搜索 - 它们找到的是能产生相同哈希值的输入,而不是原始文本本身。"
两者都不能直接用于此目的。MD5 和 SHA-256 是通用哈希函数,设计上追求速度,这使得它们在用于密码时很容易被暴力破解。请使用专为密码设计的慢速哈希函数,例如 bcrypt、scrypt 或 Argon2。这些函数增加了刻意的计算成本和每个密码独有的盐值,使大规模破解变得不切实际。
不会。所有哈希运算均使用 CryptoJS 库完全在您的浏览器中运行。您的文本永远不会离开您的设备,服务器只提供页面资源。这使得该工具可以安全地用于哈希敏感字符串,例如您需要验证的 API 密钥或配置值。
当两个不同的输入产生相同的哈希摘要时,就会发生碰撞。碰撞在理论上是不可避免的,因为哈希输出是固定长度的,而输入是无限的,但安全的算法使得故意找到碰撞在计算上几乎不可能实现。MD5 和 SHA-1 存在已知的实际碰撞攻击,这意味着攻击者可以伪造与合法摘要匹配的文件或证书。SHA-256 及以上版本目前没有已知的实际碰撞。
更多隐私工具
安全分享私密数据所需的一切 - 免费、无需账户、在浏览器中运行。
哈希生成器
在浏览器中即时生成MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512哈希值。你的输入永远不会发送到服务器。