Почему разные файлы могут получить один отпечаток

Хеш-функция превращает данные любого размера в короткую последовательность фиксированной длины — цифровой отпечаток. Обычно достаточно изменить в файле один бит, чтобы результат заметно изменился. Но возможных файлов несравнимо больше, чем отпечатков, поэтому математически неизбежно: некоторые разные файлы получают одинаковый результат. Такое совпадение называют коллизией.

Это не означает, что функция выбирает отпечаток случайно или часто ошибается. Она работает по заданному алгоритму, и одинаковые данные всегда дают одинаковый результат. Просто число возможных выходов ограничено, а входные данные могут быть практически сколь угодно разнообразными.

Случайное совпадение и намеренная подделка

В обычной работе системы сравнивают файлы по хешам, потому что так быстрее, чем каждый раз проверять содержимое целиком. Для хорошей криптографической хеш-функции случайная коллизия крайне маловероятна, но риск зависит от алгоритма и числа проверяемых объектов. А если старый алгоритм уязвим, злоумышленник может искать не случайное совпадение, а специально подобранную пару файлов с одним отпечатком.

Поэтому хеш — удобный способ выявить изменения и быстро сравнить данные, но не абсолютное доказательство того, что перед нами тот же файл. В системах, где цена ошибки высока, совпадение отпечатков могут дополнительно проверять сравнением самих данных или использовать более надёжные криптографические алгоритмы.

Отпечаток — это краткий признак, а не копия

Отпечаток полезен именно тем, что сжимает большой объём данных до короткого значения. Но он не хранит содержимое файла и не позволяет гарантировать его уникальность. Поэтому при проверке загрузки совпавший хеш обычно означает «файлы, вероятно, одинаковы», а не «их тождество доказано безусловно».