哈希函数虽不显眼,却在现代软件的各处发挥核心作用。凭借对相同输入总是产出相同短指纹这一性质,它被用于几乎所有需要 标识·比较·验证 的场景。
Git 用哈希标识每一个提交·文件。内容相同则哈希相同,从而避免重复存储;内容改变则哈希不同,从而检测到变更。区块链 也用哈希把区块串联起来,使得对历史记录的篡改变得不可能。
去重(dedup)也用到哈希。比较文件·数据的哈希,无需比对全部内容即可快速判断是否相同。云存储·备份系统正是用这种方式节省存储空间。
此外,哈希表(数据结构)、缓存键、内容寻址(CDN)、数字签名等应用不胜枚举。关键在于选择契合用途的算法:需要安全就用 SHA-256 或更高级别,只需速度就选非密码学哈希。