Два файли з однаковим вмістом, але різними іменами: ( file1 та file2 ):
cat file1
this is a simple file
cat file2
this is a simple file
md5sum file1
7de45bf879db49de7e2eacea23e6c165 file1
md5sum file2
7de45bf879db49de7e2eacea23e6c165 file2
Два файли з різним вмістом, але однакові імена файлів: ( file1 та file1 )
cat file1
this is a simple file
cat file1
this is a simple file with extra contents
md5sum file1 #first file1
7de45bf879db49de7e2eacea23e6c165 file1
md5sum file1 #second file1
c7c8f3fd9ddd7a926c31416a69063e4e file1
З вікі- запису,
Однак малоймовірно, що будь-які два неідентичні файли в реальному світі матимуть один і той же хеш MD5, якщо вони спеціально не створені для того самого хеша.
Але алгоритм MD5 має свої вади.
Однак тепер, коли легко генерувати зіткнення MD5, особа, яка створила файл, може створити другий файл з тією ж контрольною сумою, тому ця методика не може захистити від деяких форм зловмисного підробки. Крім того, у деяких випадках контрольній сумі не можна довіряти (наприклад, якщо вона отримана на тому ж каналі, що і завантажений файл), і в такому випадку MD5 може забезпечити функцію перевірки лише помилок: вона визнає пошкоджену або неповну завантаження, що стає більш імовірним при завантаженні великих файлів.
Я рекомендую використовувати sha1 для обчислення контрольної суми, оскільки створювати зіткнення не так просто при використанні алгоритмів sha1 . Виготовити контрольну суму sha1 досить просто, як ви можете бачити тут .