什么是哈希(Hash)?
哈希函数是一种无论输入多长的数据,都会输出固定长度值(哈希值)的函数。 相同的输入总会得到相同的哈希值,但输入哪怕只有微小的变化,也会得到完全不同的哈希值。 正因如此,它被广泛应用于文件完整性校验、密码存储等场景。
为什么不支持MD5?
MD5和SHA-1都已出现过真实的碰撞攻击(即不同的输入产生相同的哈希值)案例,因此不再推荐用于安全用途。 本工具使用浏览器内置的Web Crypto API,该API不支持存在漏洞的MD5,因此仅提供SHA-1(仅供参考)和 SHA-2系列(SHA-256/384/512)。如果用于安全相关场景,建议使用SHA-256及以上算法。
注意事项
您输入的文本通过浏览器内置的Web Crypto API仅在浏览器内处理,不会上传到服务器。 本工具按UTF-8编码的文本进行计算,不支持直接计算文件本身的哈希值。
常见问题
能否从哈希值反推出原始文本?
不能。哈希函数被设计为单向函数,只能单向计算,无法仅凭哈希值逆推出原始数据。正因如此,用哈希值而非明文存储密码被视为一种安全的做法。
空格或换行会影响结果吗?
会。哈希函数对输入中极其微小的差异(一个空格、一个换行)也会产生完全不同的哈希值,因此只有完全相同的文本才会得到一致的哈希值。