文件哈希校验(MD5/SHA-1,已有)
计算文本或文件的 MD5、SHA-1、SHA-256 哈希值,用于完整性校验与一致性比对,纯前端本地计算数据不上传服务器。
Hash Calculate - Calculate Text MD5 / SHA-1 / SHA-256
Hash Calculate - Calculate Text MD5 / SHA-1 / SHA-256
📐 工作原理与说明
哈希把任意长度输入映射为定长摘要:MD5 输出 128 位(32 位十六进制)、SHA-1 输出 160 位(40 位)、SHA-256 输出 256 位(64 位);相同输入摘要恒定,微小改动产生雪崩效应(约半数 bit 翻转);适用于完整性与一致性校验,但 MD5 与 SHA-1 已存在碰撞风险,安全场景应使用 SHA-256 及以上。
📚 深度解析:哈希计算
💡 常见使用场景
哈希原理
哈希将任意长度输入映射为固定长度摘要,单向不可逆、输入微小变化输出大不同(雪崩效应)。MD5 输出 128 位(已不推荐用于安全)、SHA-1 输出 160 位(已弱化)、SHA-256 输出 256 位(当前推荐)。
算例
文本 hello 的 MD5 = 5d41402abc4b2a76b9719d911017c592,SHA-256 = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824;改动一个字符为 hellp 后两段哈希完全不同,体现雪崩效应。
❓ 常见问题(FAQ)
- 哈希和加密有什么区别?
- 哈希单向不可逆、用于校验;加密可逆、用于保密。验证文件用哈希比对,保护内容用加密。
- 为什么不用 MD5 做安全校验?
- MD5/SHA-1 已被找到碰撞攻击,可构造不同文件同哈希;安全场景请用 SHA-256 或更强。
⚠️ 使用说明与注意事项
- 哈希计算在浏览器本地完成
- MD5/SHA-1 已不建议用于安全场景
- SHA-256 适用于校验和数字签名