Batya wrote: |
Есть идеи алгоритма? |
Volniy wrote: |
Кстати, только что подсмотрел, как это реализовано у Гислера. |
Tol!k wrote: |
Если 3 и более файлов одного размера — вычисляем простой и быстрый хеш (например CRC16) и сравниваем хеши. Если хеши не равны, то не равны и файлы. Если хеши равны — сравниваем файлы по содержимому. |
Lazy Crazy wrote: |
А значит размер файлов относительно небольшой и даже полное сравнение не должно быть проблемой… |
Batya wrote: |
при таком подходе надо будет значительное число раз читать одни и те же файлы. (Предположим, что размеры файлов совпадают.) |
Mite wrote: |
CRC32 не уникален для файлов разного размера - это было замечено на практике. Причем если для файлов одного размера вероятность совпадения хэша при различном содержимом файлов достаточно мала, то в группе файлов отличающихся по размеру вероятность встретить файлы с одинаковым CRC32 (и естественно различным содержимым) - велика. (Это было замечено при сравнении большого количества фото и видео файлов снятых с помощью камеры мобильного телефона). |
Batya wrote: |
Насколько можно по совпадению crc32 судить о совпадении содержимого у 2-х разных файлов? |
alexanderwdark wrote: |
считайте сразу две хэш-суммы. Вероятность подмены / совпадения сразу двух хэшей практически нереальна. |
output generated using printer-friendly topic mod. All times are GMT + 4 Hours