我正在通过网络传输文件。传输过程中对数据丢失零容忍。我被要求计算原始文件和复制文件的 SHA256 值以验证内容是否相同。到目前为止,我已经根据复制和粘贴文件进行了比较,并让 Windows 重命名文件,并在文件名后附加 -copy。我还尝试在上面重命名之后重命名文件,以及删除文件扩展名。到目前为止,它们都产生相同的哈希值。我还编写了更改文件属性的代码(只是更改了 lastWrittenTime 和 fileCreationTime),这似乎对哈希没有影响。
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
创建哈希时使用文件的哪些部分?
好的,零容忍有点过分,如果哈希不匹配,则必须重新发送文件。