MD5 и идентичность файлов

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
sergius
Сообщения: 782

MD5 и идентичность файлов

Сообщение sergius »

Если два файла имеют один и тот же MD5.
Можно ли их считать абсолютно идентичными по содержимому?
Спасибо сказали:
Аватара пользователя
aLexx programmer
Сообщения: 985
Статус: Турук-Макто
ОС: Gentoo -> Ubuntu

Re: MD5 и идентичность файлов

Сообщение aLexx programmer »

sergius писал(а):
18.01.2006 17:39
Если два файла имеют один и тот же MD5.
Можно ли их считать абсолютно идентичными по содержимому?


Вообще, нельзя. Ведь хешей длины n явно меньше, чем файлов с длиной больше n. А любая хеш-функция ставит в соответствие файлу с большой длиной короткий хеш.
Спасибо сказали:
Аватара пользователя
sergius
Сообщения: 782

Re: MD5 и идентичность файлов

Сообщение sergius »

А если помимо MD5 я сравню еще и размер файлов?
Т.е. сначала сравниваю размер, если размер совпадает, сравниваю MD5 - здесь они будут идентичны?
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: MD5 и идентичность файлов

Сообщение Portnov »

100% гарантии нет. Но на практике в 99.99% случаев хватает только проверки md5. Можно вместо md5 считать sha1. А если вы параноик ;) - сравнивать и md5, и sha1, и размер.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: MD5 и идентичность файлов

Сообщение t.t »

(Portnov @ Jan 18 2006, в 18:15) писал(а):Но на практике в 99.99% случаев хватает только проверки md5.
Вовсе нет. Если проверять две копии _одного и того же_ файла, то да -- вероятность достаточно велика. А если два файла, полученных из разных источников, то всякое может быть.

Есть к примеру такая утилита -- fdupes, занимается как раз поиском дубликатов файлов. Так она сверяет сначала размер, потом, при совпадении размера, md5-суммы, а при их совпадении побайтно сравнивает содержимое.

Вообще, если структура файлов заранее неизвестна, то достоверно воспроизвести их совпадение меньшим количеством байт, чем длина файлов, невозможно.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
aLexx programmer
Сообщения: 985
Статус: Турук-Макто
ОС: Gentoo -> Ubuntu

Re: MD5 и идентичность файлов

Сообщение aLexx programmer »

t.t писал(а):
18.01.2006 18:57
Вообще, если структура файлов заранее неизвестна, то достоверно воспроизвести их совпадение меньшим количеством байт, чем длина файлов, невозможно.


Во-во. Файлы можно назвать идентичными только после побайтного сравнения.
Спасибо сказали: