Мне нужно синхронизировать файлы из каталога A в каталог B. Я проверяю файлы в A, а затем сравниваю их с файлами в B один за другим. Если в B указан файл с именем A, я проверяю, отличаются ли файлы, сравнивая их размер. Если размеры файлов различны, я регистрирую их и перехожу к следующему файлу. Однако, если размеры файлов одинаковы, мне нужно проверить, что содержимое файлов также отличается. Для этого я решил создать хэши обоих файлов и сравнить их. Это лучше или я должен сравнивать байты файлов по байтам? Также скажите, почему вы выбрали один из методов.Как определить, идентичны ли два файла?
Я использую C# (.NET 4) и вам необходимо сохранить все файлы на B, реплицируя недавно добавленные файлы на A и сообщая (и пропуская) любые дубликаты.
Спасибо.
EDIT: эта работа будет работать в ночное время, и у меня есть возможность хранить хэши файлов только в каталоге B, каталог A будет заполнен динамически, поэтому я не могу предварительно использовать эти файлы. Кроме того, какие хэш-алгоритмы лучше для этой цели, так как я хочу избежать хэш-коллизий.