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

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

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

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

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

   найти DIR -type f -exec md5sum {} ;  |  sort -k 2 |  md5sum  

Ни один из них не сделал то, что мне нужно, поэтому я придумал эту альтернативу …

  @echo offfor/R.  %% f в (*. *) do (echo | set/p = "%% f -" certutil -hashfile "%% f" MD5 | findstr/V ":")  

Выводит в формате « — » по одной строке для каждого файла.


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

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

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


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

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

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

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

2


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

  для/R.% f в (*. *) do @certutil -hashfile "% f" MD5  

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


PowerShell предоставляет оператор цикла, некоторые люди могут предпочесть этот синтаксис

foreach ($ f in dir) {certutil -hashfile "$ f" md5 }

Ссылка: https://en.wikiversity.org/wiki/PowerShell/Loops

2


Поздно ответить на вопрос, но я нашел только непринятые ответы, вот что я нашел:

  function Get-  FolderHash ($ folder) {dir $ folder -Recurse |  ? {! $ _. psiscontainer} |  % {[Byte []] $ contents + = [System.IO.File] :: ReadAllBytes ($ _. Fullname)} $ hasher = [System.Security.Cryptography.SHA1] :: Create () [string] ::  Join ("", $ ($ hasher.ComputeHash ($ contents) |% {"{0: x2}" -f $ _}))}  

Скопируйте и вставьте это код в консоль PowerShell и введите:

  Get-FolderHash "C:  CustomFolder"  

Время выполнения может различаться в зависимости от содержимого папки .


Расширение оболочки HashCheck (архив) можно использовать для получения хеша каталога. Это можно сделать следующим образом:

  1. Использование HashCheck в каталоге.
  2. Это сгенерирует .md5 файл, который содержит список хэшей каждого файла в этом каталоге, включая все файлы в подкаталогах.
  3. Снова используйте HashCheck для файла .md5 . сгенерированный выше.
  4. Этот окончательно сгенерированный файл .md5 содержит хэш всего каталога.

Если у вас установлен Python 3, вы можете использовать для этого мой пакет pyfstools. Быстрое использование:

  $ pip install git + https://github.com/sorgloomer/pyfstools.git@main...$ python -m pyfstools hash --algo md5  .dir 88c17b149c1d9fef50f642b698cef9e6  



Как мне проверить хэш SHA1 файла?

Как проверить хэш SHA1 файла?


sha1sum

Распечатать или проверить SHA1 (160 -bit) контрольные суммы. Без ФАЙЛА или когда ФАЙЛ равен -, читать стандартный ввод.

  sha1sum {file}  

Если вы хотите отправить файл вместе с его выводом sha1sum, перенаправьте вывод в файл:

  sha1sum {file}> {file} .sha1  

Отправьте оба файла, и другая сторона сможет выполнить …

  sha1sum -c {file} .sha1  

Он должен показать OK , если sha1 правильный.


Без создания локального файла:

  $ sha1sum filename8dd10000eb1b768800000e1d2fe1c3100005d2dc * filename  

Для проверки, перейдите в каталог, содержащий filename , и выполните следующую команду:

  echo "8dd10000eb1b768800000e1d2fe1c3100005d2dc * filename" |  sha1sum -c -  

3


Это очень просто.

Перейдите к терминалу и введите:

  sha1sum filename  

для подтверждения использования хэша sha1:

  sha1sum -c filename  

1


Для тех, кто работает на Mac и не имеет установленного coreutils/sha1sum.

  openssl sha1  

Пример:

  $ openssl  sha1 `mktemp`SHA1 (/tmp/tmp.jkyfOWma3t) = da39a3ee5e6b4b0d3255bfef95601890afd80709  

1


О чем вы говорите? Да, я понимаю концепцию sha1sum, но приведенная выше информация сбивает с толку, чтобы сказать лучшее. Во-первых, в Ubuntu, похоже, нет файлов sha1sum — просто строки на веб-странице, например, для Mate 16.04 Beta 1:

  bfba577970d573e0ba5095fbb72787de97f88b4b * ubuntu-mate-16.04-beta1-  desktop-amd64.isoefcbbc70b10173cea203df30396d0848ba8fa0d8 * ubuntu-mate-16.04-beta1-desktop-i386.iso8563fec4d66bce851b0800f5ac746f38e4041a6a * ubuntu -c.  загруженного .iso, открывается программа терминала, выполняется "cd Downloads", затем sha1sum .  Через некоторое время терминал выдаст хэш, например  
  efcbbc70b10173cea203df30396d0848ba8fa0d8 ubuntu-mate-16.04-beta1-desktop-i386.iso  

Затем нам нужно перейти на веб-страницу и сравнить строки, чтобы убедиться, что проверка работает. Не так просто, как могло бы быть.


Python

Python имеет отличную библиотеку hashlib , которая позволяет вычислять несколько хеш-сумм, включая sha1 . Вот простой сценарий, который может выполнить эту работу:

  #!/Usr/bin/env python3import sysimport hashlibimport osfrom collection import OrderedDict as oddef get_hashsums (file_path): hash_sums = od (  ) hash_sums ['md5sum'] = hashlib.md5 () hash_sums ['sha1sum'] = hashlib.sha1 () hash_sums ['sha224sum'] = hashlib.sha224 () hash_sums ['sha256sum'] = hash256mslib.sha  ['sha384sum'] = hashlib.sha384 () hash_sums ['sha512sum'] = hashlib.sha512 () с open (file_path, 'rb') как fd: data_chunk = fd.read (1024), а data_chunk: для хеш-суммы в hash_sums  .keys (): hash_sums [hashsum] .update (data_chunk) data_chunk = fd.read (1024) results = od () для ключа, значение в hash_sums.items (): results [key] = value.hexdigest () return resultsdef  main (): для пути в sys.argv [1:]: print (">>>", path) для ключа, значение в get_hashsums (путь) .items (): print (key, value) if __name__ == '  __main__ ': main ()  

Тестовый запуск:

С одним файлом:

   $ ./hash_sums.py/etc/passwd >>>/etc/passwdmd5sum c  e5f247e016ba2bb92049fc86158376asha1sum b8abadf4618b09bd3eebb6064fc2df5b90e5ae03sha224sum 044579d46e0d969a860602216ea4764465e5618ed714109cf782ff50sha256sum 53f2ff8997625c958f77aef034f9c96d9fcfc8bcb4bb8a96fd8ac89a5ed5adf6sha384sum b84b6cafa178147614e6b7903e1b7a342e09d95e3101e55c6a3b5b093a22190f2d367c69b1ee12b1ec59726337a40e9csha512sum edacca8237d3be5095f392c9d347dce3a5249c79d09f9b99a055b796edd74541b4529c499ff0e4f25e817b702c206073bfe5b0fccae6773680c79ea1e0efa9e2 код> 

С Глоб: $ ./hash_sums.py * >>> 3-4- placement.pymd5sum a81dd2a6eb122176204cacd92d76d08csha1sum 4972f8cf08701cdfc6308def05d3ec2eedfcdd9asha224sum 32c4dad60f59584ba39ce73c1a1c96d4da36ee6fe3fd291145692b2bsha256sum 7460ebf8736b0d6e7be8a1025743d0498871c7013cf5ad4463366fd95fe7576asha384sum 77de28b4b185d9a5d7d49aef0aad432d37145b914557dc6ecf3e6cdcbd6cd4a1999d717c027489ac99751f066050199bsha512sum 7bf6a8059601c72e1278e321f225fef82f12a7bad73e1e8c5c43c1fcbdc2243934bf7d1ad07534bdbf10e2dd9ea9265e1debcbdf6603 bec24ede665d2f651cf5 >>> SHA256SUMSmd5sum 3c37318d45676c1db2598aa817b37679sha1sum 8338b8ae5f749551d131dc28aebb80a2b125d651sha224sum e89ad392f10a77b0940792a03470f3a23df2f2df9c8b6a91a1c496e0sha256sum dd4a53f7da270f3b6ab691841ca911a231e20af53d7fabc5a39059b9dbdb036dsha384sum aadfb55856730eb5b7e4192111bfb8fc4c022396a5809cb37fdd8e8b6ac8dbb3b7e462266cde2b34f90d7015fb42fe2bsha512sum baba0ed86ad781daffb5905512459e353b7ca7da7b04cf67a26cfb320906041da2d4bc73673926aab7c98869f25bc2fd6ea0116c21c40c07188e6dcbbba3dbcf >>> ответ. mdmd5sum b6111facdba5978e6cf3a200706ba6fdsha1sum 5c2eb00c4c0c4799d4457d3a84eea283a3a0d249sha224sum 7172f877ab579e1ee845c723e0d42ff3acb96859cc43a56aebc39f59sha256sum dc6ac7365f680e98b9f1279d2e22ed21b9b82c988b99b0facd5e8a98ff50ddd6sha384sum 5082b3b62d677c5b1b8938f871da16c595be16a540bd76bc9c25ea6572dc9020f236237ec310cfa78fdaa1d0c0a51b0fsha512sum 81f21316ab6c5a4038cdcde528766e620988a0ccf53bf2e9932399f4534c070468949a5a43ea68629c07e622404574e46bb20cf60c51da4e2a7a44a1df71d920 код>

Оцените статью
clickpad.ru
Добавить комментарий