许多网站为可下载文件提供了md5校验和,因此用户可以根据下载的文件md5验证字符串。有人可以修改原始文件的内容但仍保留原始的md5校验和吗?
答案 0 :(得分:2)
是的,可以在不更改MD5校验和的情况下修改文件。这就是为什么转向更安全的哈希算法(如SHA-256)非常重要的原因。出于安全考虑,MD5和SHA-1几乎被认为是不推荐使用的。
维基百科有一节关于MD5的安全问题:
答案 1 :(得分:2)
通常,更改文件中的单个位将改变散列中大约50%的位。
即使使用MD5,也不太可能进行更改并具有相同的哈希值
请注意,查找已知哈希的冲突比查找任何冲突更难。对于MD5,平均需要2 ^ 127attempts,文件越长,每次尝试的时间就越长。
应该使用SHA256或更好。 SHA256只需要两倍于MD5的时间。
答案 2 :(得分:0)
这取决于你所谈论的背景。如果您要询问文件的随机更改是否会导致具有相同MD5的文件,那么答案是肯定的,理论上是可行的但是极不可能。另一方面,如果你在谈论一个有活跃攻击者的情况,那么是的,它更有可能。 MD5是no longer considered cryptographically secure。
答案 3 :(得分:0)
md5校验和的想法是原始文件上的每个位保持不变。虽然算法可能有碰撞,但md5保持不变是不可能的。因此,您应该更新md5文件以及检查它的工具或将其完全删除,以便检查它的工具将失败。
如果您更新原始版本并保留旧版本md5,则禁止使用与校验和相关的工具。