相同的哈希,不同的行为

时间:2012-04-30 22:35:40

标签: encoding file-io hexdump

我有两个文件提供相同的哈希值,甚至是相同的hexdump。文件A和文件B分别在Linux Box 1和Linux Box 2上启动。然后,我将这两个文件复制到Windows共享,并从Windows计算机中读取它们。这些文件似乎仍然与Windows实用程序Fc(使用/ b选项 - 二进制模式)逐字节相同。但是,当我打开两个不同的文件时,它们似乎有不同的编码(换行符/换行符)。为什么哈希/ hexdump / Fc没有发现这个?

我在这里俯瞰什么?

1 个答案:

答案 0 :(得分:0)

不要使用wordpad。实际上,根本不要使用wordpad。请注意,Microsoft通常不遵守标准,并且在很多时候(例如浏览器)只是简单地使用标题作为某种魔法来获取和猜测文件或流内容。有时它会猜错,有时则不然。

您也可以计算Windows机器上的哈希值,有很多轻量级实用程序可以在Windows资源管理器中计算安全哈希值。您还可以在Windows上安装命令行实用程序(如OpenSSL)(或者更进一步安装Cygwin,我一直在Windows机器上运行)。

除了保持自己的双字符标准外,Windows从未有过关于行结尾的真正策略。在Windows的更高版本中,您可以使用记事本(如果必须的话)(最终)了解Unix换行符(因为这次可能会破坏UTF-16)。