Я разрабатываю приложение для файлового сервера, в котором я хочу проверить, является ли кэшированный файл на клиентском компьютере последней версией, хранящейся на сервере.
Я не совсем верю «измененным»атрибут date 'в файловой системе, поэтому я хочу сравнить фактические байты в файле.
Я думаю, что самый быстрый способ сделать это (так как отправка всех байтов через Интернет занимает некоторое время), этоотправьте длину файла и байты хеша на сервер.Затем сервер сначала проверяет длину файла и, если они совпадают, вычисляет хеш для файла, расположенного на сервере, а затем проверяет, совпадает ли он с тем, что вычислил клиент.
Кто-нибудь может мне сказать, чтоНасколько вероятны хэш-конфликты, когда размер файла одинаков?(В настоящее время я использую MD5 для его скорости).
Могу ли я предположить, что если размер файла такой же, а хэш такой же, что содержимое одинаковое?
Спасибо!