Как я могу сгенерировать сумму MD5 для папки в Windows?

4608
Klangen

Существует несколько сообщений о создании сумм MD5 для файлов и / или папок на различных платформах Windows. Однако ни один из них не работал для меня. Я старался:

  • Windows CertUtil : CertUtil -hashfile myFileName MD5возвращает « Доступ запрещен » во всех папках (my cmdработает с правами администратора),
  • HashTab : не отображается в диалоге свойств в проводнике, как рекламируется,
  • Летние свойства : не отображаются в диалоге свойств,
  • HashCheck : не позволяет MD5 для папок, только файлы,
  • md5checker : не вычисляет MD5 всей папки (только файлы в ней).

В этот момент я начинаю немного отчаяться. Обратите внимание, что я использую Windows 7 x64.

Для информации, если возможно, я пытаюсь найти инструмент, который позволил бы что-то подобное в Linux:

find DIR -type f -exec md5sum {} \; | sort -k 2 | md5sum 
4
Сделайте ZIP и хэшируйте его. Biswapriyo 6 лет назад 0
@Biswapriyo Это бы сработало, за исключением того, что у меня есть очень большие папки с сотнями ГБ в них ... Klangen 6 лет назад 1
CertUtil работает только с файлами. Вам придется написать сценарий PowerShell для циклического просмотра каждого файла, содержащегося в папке. Если бы вы использовали Windows 10, вы могли бы использовать WSL для вычисления хэша. Ramhound 6 лет назад 2
Обратите внимание, что не существует стандартного метода для хэширования папки (которая представляет собой не один поток байтов, а неупорядоченную коллекцию), поэтому разные программы будут давать разные результаты. grawity 6 лет назад 4

2 ответа на вопрос

3
ischeriad

Если вы хотите использовать графический интерфейс, я могу порекомендовать Fsum Frontend .

Fsum Frontend - это бесплатный и простой в использовании инструмент, который позволяет вычислять дайджесты сообщений, контрольные суммы и HMAC для файлов и текстовых строк. Он поддерживает перетаскивание, и вы можете обрабатывать несколько файлов одновременно . Сгенерированная контрольная сумма может быть использована для проверки целостности файлов.

Он поддерживает 96 алгоритмов: [...] md5 [...]

Скриншот FsumFrontend


Как следует из названия, Fsum Frontend является графическим интерфейсом для (среди прочего) SlavaSoft fsum .

Быстрая и удобная утилита командной строки для проверки целостности файла. Он предлагает на выбор 13 самых популярных хеш-функций и контрольных сумм для дайджеста файловых сообщений и вычисления контрольной суммы.

Его функции включают в себя:

  • Возможность действовать рекурсивно . FSUM может работать не только с файлами из определенного каталога, но и с файлами из всех подкаталогов указанного каталога;
  • Работа с файлами большого размера . (Проверено на файлах размером до 15 ГБ);
  • Полная совместимость с утилитой md5sum

Снимок экрана использования командной строки fsum.exe

Можно ли это сделать с помощью каких-либо инструментов командной строки? И без использования каких-либо сторонних инструментов? Biswapriyo 6 лет назад 0
@Biswapriyo - Нет; Это приложение с графическим интерфейсом для сторонней утилиты. Пользователь не исключает возможности использования сторонних приложений, даже если они это сделали, не меняет того факта, что это подходящее решение. Ramhound 6 лет назад 0
1
Javier Gostling

Вы можете получить эквивалент вашей команды Unix (без сортировки) с помощью следующего:

for /R . %f in (*.*) do @certutil -hashfile "%f" MD5 

Вы можете изменить точку ( .) для любой папки, из которой вы хотите создать рекурсив, и на *.*любую маску файла, которая вам нужна, чтобы сузить набор файлов.

Похожие вопросы