生成 MD5、SHA-1、SHA-256 哈希值。浏览器本地计算,数据不会上传到服务器。
关于哈希值
哈希函数把任意长度的输入压成固定长度的摘要,特点是单向(无法从摘要反推原文)和雪崩效应(输入改动一个字符,输出完全不同)。MD5 和 SHA-1 已被证明存在碰撞攻击,只适合做文件完整性校验,不应再用于密码存储或数字签名。新项目建议直接选 SHA-256。
常见问题
为什么同样的文件算出来哈希不一样?
先检查是不是比较了不同的文件,或者文件在传输中被改动。另外 MD5 和 SHA-256 的结果长度完全不同,不能混着比。
MD5 还能用吗?
做文件去重、断点续传校验这类非对抗场景仍然可用。但只要涉及安全,比如防篡改、密码存储,就必须换成 SHA-256 或更强的算法。
加盐能提升安全性吗?
加盐(在原文前后拼接随机字符串再哈希)能抵御彩虹表攻击,是密码存储的必要做法。但更推荐直接用 bcrypt、scrypt 或 Argon2 这类专为密码设计的算法。