操作系统、文件系统等是什么?
还有没有哈希值不同的情况?
\r\n
作为换行符,而在Linux上通常只有\n
。文本文件的编码也可能存在差异。MD5是针对特定输入定义明确的。如果文件内容相同,则在各个系统中生成的MD5将相同。
反之则不一定成立-如果两个文件具有相同的MD5散列值,则它们的内容可能不同,尽管这种情况发生的概率非常低。
然而,应该注意到,MD5哈希故意创建了碰撞,因此MD5的加密安全性被认为已经被破解(http://en.wikipedia.org/wiki/MD5#Collision_vulnerabilities)。我不是安全专家,因此我不确定MD5在现实世界中有多容易受攻击。但是,由于还有其他哈希算法可用,如果有选择,则应该使用它们而不是MD5。
MD5是一种算法,这意味着它不依赖于其运行的系统。