zaLinux.ru

Как проверить целостность передаваемого по сети файла в Linux и Windows


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

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

Особенно ситуация не очень понятно при использовании веб-интерфейсов (например, elFinder (Web file manager)) и различных необычных решений, например веб-SSH.

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

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

Как проверить что файл не повреждён в Linux. Как проверить контрольную сумму файла в Linux

Для вычисления контрольной суммы по алгоритму MD5 используется утилита md5sum.

Для вычисления контрольной суммы файла с именем FILE используется следующая команда:

md5sum FILE

Пример вычисления контрольной суммы для файла 20240804_131135.zip (на локальном компьютере):

md5sum 20240804_131135.zip

Пример вывода:


b738817e5fa32ba5121e3ebcb7c97190 20240804_131135.zip

То есть контрольная сумма указанного файла равна b738817e5fa32ba5121e3ebcb7c97190.

И ещё одно вычисление контрольной суммы файла, но в этот раз на веб-хостинге, куда этот файл был выгружен:

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

Как проверить что файл не повреждён в Windows. Как проверить контрольную сумму файла в Windows

В Windows имеются предустановленные утилиты для расчёта контрольной суммы файлов, в том числе с использованием алгоритма MD5.

Вы можете использовать утилиту Get-FileHash следующим образом:

Get-FileHash FILE -Algorithm MD5

Пример вычисления хеша MD5 для файла 20240804_131135.zip:

Get-FileHash 20240804_131135.zip -Algorithm MD5

Утилита Get-FileHash является частью PowerShell и доступна на всех современных выпусках Windows.

Ещё одна предустановленная утилита для вычисления контрольных сумм файлов, это CertUtil. Чтобы вычислить MD5 хеш с помощью CertUtil используйте команду вида:


CertUtil -hashfile FILE MD5

Например:

CertUtil -hashfile 20240804_131135.zip MD5


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *