功能简介
哈希函数把任意长度的文本变成一段固定长度的「指纹」。相同输入永远得到相同的哈希,哪怕只改一个字符,结果也会完全不同。哈希常用于校验下载文件、检测重复内容、生成缓存键和数据签名。
本工具在你输入时同时计算五种常用哈希:
- MD5:128 位,32 个十六进制字符
- SHA-1:160 位,40 个十六进制字符
- SHA-256:256 位,64 个十六进制字符
- SHA-384:384 位,96 个十六进制字符
- SHA-512:512 位,128 个十六进制字符
使用方法
- 在「文本」框输入或粘贴内容,也可以拖入文件或点「示例」。
- 所有哈希值实时更新,点对应行的「复制」即可。
- 可选「十六进制」或「Base64」输出;要对比的系统用大写字母时,打开「十六进制大写」。
示例
句子 The quick brown fox jumps over the lazy dog 的 MD5 是 9e107d9d372bb6826bd81d3542a419d6,SHA-256 是 d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592。在句末加一个句号,所有哈希值都会完全改变。
注意
文本会先转成 UTF-8 再计算,这和几乎所有编程语言、命令行工具的默认行为一致。末尾换行也算:echo "abc" | md5sum 计算的是 abc\n,echo -n "abc" | md5sum 计算的才是 abc。
常见问题
› 应该用哪种哈希?
新项目用 SHA-256 或 SHA-512。MD5 和 SHA-1 在安全上已被攻破(可以人为构造碰撞),但用作快速校验和没有问题,很多老系统也还在用。
› 能从哈希值反推出原文吗?
不能,哈希是单向的。所谓「MD5 解密」网站只是查预先算好的常见词哈希表,所以短密码和常见密码不安全。
› 可以直接用 SHA-256 存密码吗?
不建议。密码要用加盐的慢哈希算法,比如 Argon2、bcrypt 或 scrypt;普通 SHA 哈希能被很快暴力破解。
› 为什么和别的工具算出来不一样?
检查末尾是否多了换行或空格,以及文本编码。本工具对你输入内容的 UTF-8 字节做哈希,最后的换行也算在内。
› 文本会上传吗?
不会,所有哈希都在浏览器里计算。