Есть ли встроенный метод для вычисления хеша SHA-1 или MD5 в Windows 7? [Дубликат]


38

На этот вопрос уже есть ответ здесь:

Есть ли встроенный метод для вычисления хеша SHA-1 или MD5 в Windows 7?



Я бы поддержал включение sha1 в заголовок другого вопроса и закрыл этот вопрос
Брайан Вебстер

Этот вопрос не является дубликатом superuser.com/questions/89191/… . Этот вопрос требует только интеграции оболочки, а не командной строки.
Висбуки

Это решение не совсем встроено в Windows 7, но если у вас уже установлен Git Bash (msys / mingw), оно включает в себя командную строку md5sum
wisbucky

3
powershell get-filehash -algorithm sha1 <file_to_check>
Кристиан Лонг

Ответы:


32

Встроенной утилиты нет, однако Microsoft предоставляет утилиту командной строки для бесплатной загрузки:

Наличие и описание утилиты File Checksum Integrity Verifier


6
Это уже не совсем так. PowerShell 4 добавляет Get-FileHashкоманду . (О времени, не так ли?) Хотя, если честно, PowerShell 4 сейчас устанавливается только в самых новых операционных системах Windows, но обновление крайне целесообразно на старых ОС. (PS4 также имеет много других хороших вещей.)
jpmc26

Одно важное предостережение: fcivне выполняется для имен файлов, содержащих символы Юникода.
Висбуки

18

Нет встроенных инструментов.

Я использую расширение оболочки HashCheck :

альтернативный текст


Это мой фаворит, потому что это расширение ядра (не знаю, используют ли они эту терминологию). Использую его годами.
Дэвид Коуден

Есть ли способ получить хэш SHA-256 с этим?
Макс

@DavidCowden: В чем преимущества реализации такой функции, как расширение ядра, по сравнению с приложением, работающим исключительно в пользовательском пространстве. Разве это не потенциально нестабильная ОС?
Исаак

@ Исаак, я скучаю, говорил. В старых терминах Windows это расширение оболочки , а не расширение ядра. Преимущество заключается в том, что он добавляет пользовательский интерфейс прямо в проводник Windows, так что вы можете, как показано на рисунке, просматривать контрольные суммы и хэши прямо в окне свойств файла. Это довольно опрятно!
Дэвид Коуден,

11

Он не совсем встроенный, но, по крайней мере, вам не нужно загружать какое-либо новое программное обеспечение, чтобы оно работало. Вы можете создать скрипт powershell для вычисления суммы файлов MD5. Фактический сценарий можно найти здесь:

http://www.ahmadsoft.org/powershelljunkie/index.html

Скопируйте этот текст в файл с именем что-то вроде «ps-md5sum.ps1» и сохраните его где-нибудь. Когда вам нужно вычислить хеш файла, откройте PowerShell в каталоге файла, который вы хотите проверить, и затем запустите его:

[PS] C:\> ps-md5sum.ps1 file-of-choice.exe

И он должен вернуть хэш этого файла.


Этот сценарий PS1 от Джо Пруитта имитирует поведение md5 в UNIX: devcentral.f5.com/weblogs/Joe/archive/2009/05/18/…
Брайан Рейтер




4

В дополнение ко всем замечательным опциям, которые уже были опубликованы, есть также md5deep / hashdeep , пакет хеш-вычислений с открытым исходным кодом для Windows (но может также использоваться в системах * nix и OS X), который поддерживает:

  • MD5
  • SHA-1
  • SHA-256
  • тигр
  • джакузи

Некоторые преимущества md5deep / hashdeep:

  • Это открытый исходный код и кросс-платформенный.
  • Он запускается из командной строки и может быть использован для сценариев.
  • Он оптимизировал двоичные файлы как для 32-битных, так и для 64-битных систем.
  • Он поддерживает современные алгоритмы хеширования (MD5 и SHA-1 на этом этапе ломаются для проверки целостности файла и цифровых подписей, поскольку коллизии для MD5 уже можно создавать с относительной легкостью, а коллизии SHA-1 все чаще находятся в пределах возможного ).
  • Он может рекурсивно генерировать контрольные суммы для всего каталога.
  • Он может проверить файл или каталог по ранее сгенерированному списку контрольных сумм, чтобы выполнить быструю проверку каталога (выявление неизвестных файлов или файлов, которые были изменены).

Чтобы использовать его в Windows, вы можете либо установить его в Cygwin, либо просто включить каталог md5deep в свою %PATH%переменную. Хотя лично я предпочитаю следующую настройку:

  1. Извлечь все файлы куда-нибудь, например

    %ProgramFiles%\md5deep

  2. Создайте набор командных файлов в вашем каталоге Windows, например

    %WinDir%\md5.bat
    %WinDir%\hash.bat
    %WinDir%\sha1.bat
    %WinDir%\sha256.bat
    %WinDir%\tiger.bat
    %WinDir%\whirlpool.bat

  3. Включите путь к соответствующим двоичным файлам, например

    В md5.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\md5deep64.exe" %*(64-битные системы)
    "%ProgramFiles%\md5deep\md5deep.exe" %*(32-битные системы)

    В hash.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\hashdeep64.exe" %*(64-битные системы)
    "%ProgramFiles%\md5deep\hashdeep.exe" %*(32-битные системы)
    ...

Или , если вы хотите , чтобы автоматически переключаться между 32-битной и 64-разрядной двоичными кодами для WoW64, вы можете поставить 32-разрядные двоичные файлы в %ProgramFiles(x86)%и 64-битных в %ProgramW6432%, а затем записать свои командные файлы , как это:

@ECHO OFF
SET cmd=hashdeep
IF "%ProgramFiles%" EQU "%ProgramW6432%" SET cmd=%cmd%64
"%ProgramFiles%\md5deep\%cmd%.exe" %*
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.