1

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

1 ответ1

4

Во-первых, вы можете использовать инструменты для вычисления «номера» этого файла, относящегося только к этому файлу и только к этому файлу. этот номер называется «цифровой хэш» или «дайджест»:

http://en.wikipedia.org/wiki/Cryptographic_hash_function

Итак, используйте что-то вроде 'sha256' (лучше) или 'md5' (все еще полезно, хотя под атакой), чтобы вычислить хэш. Рассчитайте его на сервере и на вашей машине. сравнить два. если они идентичны, поздравляю.

Вы найдете много хэш-программ бесплатно, например.

замечания:

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

  • иногда вам не нужно вычислять дайджест на сервере, так как некоторые люди предоставляют эту информацию и рассказывают вам о дайджесте. но будьте осторожны, вы также должны «загрузить» эту информацию. так что, если кто-то отправит вам неправильный номер и заставит вас загружать неправильный (манипулируемый) файл, тогда дайджест будет бесполезным.

  • если вы хотите, чтобы ваши клиенты / клиенты могли что-то скачать простым способом, и вы на конце развертывания хотите знать, правильно ли клиент (не всегда разбирающийся в технологиях) загружал файл: используйте что-то отличное от .tar.gz , tarballs (.tar.gz) - это потоки данных, которые не позволяют по-настоящему определить, поступает ли больше данных. с контейнерами, такими как .zip или .7z, это отличается, так как они содержат TOC (оглавление) в конце файла. если клиент загружает .zip и пропускает несколько байтов в конце (тайм-аут из-за медленных соединений), то клиент не сможет открыть файл и получит мгновенную обратную связь. иногда такие контейнеры предлагают контрольную сумму содержимого, чтобы пользователь мог проверить, нормально ли выглядит контейнер. в конце единственный способ сказать, что вы скачали битовую копию файла, - это вычислить его дайджест, как объяснено в начале.

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