哈希是某段数据的简短指纹:相同的输入永远得到相同的字符串,而改动一个字节就会让它面目全非。因此它是校验下载是否完整、两个文件是否真的相同、文件在别人公布校验值之后有没有被改动的标准做法。这个工具会为你输入的文本或选择的文件同时计算 SHA-1、SHA-256、SHA-384 和 SHA-512,还能把结果与你粘贴进来的校验值比对——当那串数字有 64 个字符时,用眼睛核对正是出错的方式。计算由浏览器内建的密码学实现完成,所以再大的文件也不会离开你的设备。
不会。文件在你的设备上读取,并由浏览器内建的 WebCrypto 实现计算哈希。什么都不会经过网络,而且大文件也能以原生速度处理。
除非对方另有说明,就用 SHA-256——它是软件校验值、签名和多数协议的默认选择。SHA-512 也很好,在 64 位机器上可能更快。SHA-1 只用于比对一个旧的公布值,绝不要用于任何与安全相关的用途。
因为浏览器没有实现它:它多年前就已被攻破——可以构造出两个不同的文件共享同一个 MD5。任何还依赖 MD5 做完整性或安全校验的东西,都该迁移到 SHA-256。
不能。哈希只朝一个方向走,而且无论输入多大,输出长度都是固定的。不过简短、常见的输入仍可以靠逐一试候选值猜出来——这正是密码需要加盐且刻意放慢的哈希,而不是一个朴素 SHA-256 的原因。
重新下载一次文件——传输中断或损坏是最常见的原因。如果重新下载的副本仍然对不上,请不要打开它:要么公布的校验值属于另一个版本,要么这个文件根本不是他们发布的那一个。