2

Я не говорю с точки зрения, где происходит эксплуатация. Предполагая, что MD5 не имеет никаких проблем.

  • Если у меня 2 одинаковых формата файлов с одинаковым содержимым, то обе контрольные суммы будут одинаковыми. Но если 2 файла имеют одинаковое содержимое, но разный формат, например, pdf и doc. Будет ли это иметь другую контрольную сумму.
  • Если 2 файла имеют одинаковое значение в кодировке Base64, будут ли они иметь одинаковую контрольную сумму MD5?
  • Приложение, которое может найти дубликаты файлов. Используют ли они значение контрольной суммы или какую технологию?

1 ответ1

3

если 2 файла имеют одинаковое содержимое, но разный формат, например pdf и doc. Будет ли это иметь другую контрольную сумму.

Формат является частью содержимого файла. То, что делает файл "файлом PDF" или "файлом Word DOC", не является какими-то вспомогательными метаданными - это буквально просто байты внутри файла. Таким образом, поскольку другой формат означает различное содержимое, он, как правило, также будет означать другой хэш / дайджест.

Если 2 файла имеют одинаковое значение в кодировке Base64, будут ли они иметь одинаковую контрольную сумму MD5?

Base64 - это не функция сжатия, это кодировка без потерь 1:1. Таким образом, если два файла имеют одинаковые выходные данные в кодировке Base64, это означает, что они имели одинаковый ввод перед кодированием.

Короче говоря, сами файлы идентичны, так что да, они будут иметь один и тот же дайджест.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .