Я работаю над передачей файлов по сети. Существует нулевая терпимость к потере данных во время передачи. Меня попросили вычислить значения 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
Какие части файла используются при создании хеша?
Хорошо, нулевая терпимость — это слишком, если хэш не совпадает, файл придется отправить повторно.