文件hash是对一个文件内容进行哈希算法,计算后得到的唯一字符串指纹。可以用来判断文件内容是否被篡改、验证文件完整性、去重等。
常见HASH算法如下
哈希算法 | 哈希长度(位) | 哈希长度(字节) | 十六进制字符串长度 |
---|---|---|---|
MD5 | 128位 | 16字节 | 32字符 |
SHA-1 | 160位 | 20字节 | 40字符 |
SHA-256 | 256位 | 32字节 | 64字符 |
SHA-512 | 512位 | 64字节 | 128字符 |
注意哈希碰撞,哈希碰撞:不同的输入数据经过相同的哈希算法运算后,得到了相同的哈希值
哈希算法 | 抗碰撞性 | 是否已被攻破 |
---|---|---|
MD5 | 很容易碰撞 | 已被完全攻破 |
SHA-1 | 已有实用碰撞 | 已被多次攻破 |
SHA-256 | 碰撞极难 | 暂无实用碰撞 |
SHA-512 | 碰撞极难 | 暂无实用碰撞 |