我正在通过网络传输文件。传输过程中的数据丢失容忍度为零。我被要求计算原始文件和复制文件的SHA256值,以验证内容是否相同。到目前为止,我已经基于复制和粘贴文件进行了比较,并让Windows使用-copy附加到文件名来重命名该文件。我也尝试在重命名上面重命名文件,以及删除文件扩展名。到目前为止,他们都产生相同的散列。我也编写了改变文件属性(只是改变了lastWrittenTime和fileCreationTime),这似乎没有对哈希产生影响。SHA256用于计算散列的文件的哪些部分
Checksum result of copying and pasting a file(explorer appends "-copy to name):
E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7
E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7
Checksum result of renaming the -copy in explorer:
E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7
E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7
Checksum result of changing file extension:
E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7
E7273D248F191A0F914837A21BE39D229D790CA242D38651BAA06DAC9EBB63F7
创建散列时使用哪个文件部分?
好吧,零容忍是有点多了,如果散列不匹配的文件将不得不重新发布。
...文件的内容? –
发布你如何计算哈希的代码。 – Paparazzi
@Blam:真的吗? – spender