Есть ли в Windows 7 встроенная утилита для проверки контрольных сумм / хэшей?
28 ответов
CertUtil - это предустановленная утилита Windows, которую можно использовать для генерации контрольных сумм хеша:
certUtil -hashfile pathToFileToCheck [HashAlgorithm]
Выбор хеш-алгоритма: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512
Так, например, следующее генерирует контрольную сумму MD5 для файла C:\TEMP\MyDataFile.img
:
CertUtil -hashfile C:\TEMP\MyDataFile.img MD5
Для получения результатов, аналогичных * системам Nix, вы можете добавить магию PowerShell:
$(CertUtil -hashfile C:\TEMP\MyDataFile.img MD5)[1] -replace " ",""
Есть встроенная утилита, как указано в этом другом ответе.
Однако вы можете использовать это бесплатное приложение под названием HashTab, которое аккуратно интегрируется с Windows Explorer, регистрируя ... ну, вкладку в диалоге свойств файлов. Это довольно мило.
Я использую HashCheck (последняя версия), которая интегрируется как страница свойств для файлов и включает контекстное меню для сравнения с файлами проверки хеша (SFV).
Это бесплатно, и источник доступен.
Существует утилита FCIV от Microsoft, верификатор целостности контрольной суммы файла Microsoft (ссылка на скачивание).
Средство проверки целостности контрольной суммы файлов Microsoft - это неподдерживаемая утилита командной строки, которая вычисляет криптографические хеши MD5 или SHA1 для файлов.
Он не показывает Windows 7 в системных требованиях, но я только использовал его в Windows 8, и он работал.
PowerShell версии 4 и выше включает в себя командлет Get-FileHash .
powershell get-filehash -algorithm md5 <file_to_check>
Используйте doskey, чтобы создать постоянный псевдоним, который легче запомнить.
doskey sha1sum=powershell get-filehash -algorithm sha1 "$1"
doskey md5sum=powershell get-filehash -algorithm md5 "$1"
Вот тот, который я использовал ранее, который прекрасно интегрируется с диалоговым окном "Свойства" в Explorer: Летние свойства. Это открытый исходный код, а также доступна версия для x64.
Мне также нравится FileAlyzer от Safer Networking, который также предоставляет дополнительные функции. Но только для контрольных сумм Summer Properties легковесна и делает свою работу.
HashMyFiles от Nirsoft - это небольшая утилита, которая позволяет вычислять хэши MD5 и SHA1 для одного или нескольких файлов в вашей системе. Вы можете легко скопировать список хэшей MD5/SHA1 в буфер обмена или сохранить их в файл text/html/xml.
HashMyFiles также можно запустить из контекстного меню проводника Windows и отображать хэши MD5/SHA1 выбранного файла или папки.
HashMyFiles является бесплатным и портативным.
Я нашел этот скрипт PowerShell:
param([switch]$csv, [switch]$recurse)
[Reflection.Assembly]::LoadWithPartialName("System.Security") | out-null
$sha1 = new-Object System.Security.Cryptography.SHA1Managed
$pathLength = (get-location).Path.Length + 1
$args | %{
if ($recurse) {
$files = get-childitem -recurse -include $_
}
else {
$files = get-childitem -include $_
}
if ($files.Count -gt 0) {
$files | %{
$filename = $_.FullName
$filenameDisplay = $filename.Substring($pathLength)
if ($csv) {
write-host -NoNewLine ($filenameDisplay + ",")
} else {
write-host $filenameDisplay
}
$file = [System.IO.File]::Open($filename, "open", "read")
$sha1.ComputeHash($file) | %{
write-host -NoNewLine $_.ToString("x2")
}
$file.Dispose()
write-host
if ($csv -eq $false) {
write-host
}
}
}
}
Источник: Расчет SHA1 в PowerShell
Он использует .NET, который я предполагаю, что вы установили
Я добавляю это здесь только потому, что я не видел полностью работающих примеров PowerShell, готовых для копирования и вставки:
C:\> powershell "Get-FileHash %systemroot%\system32\csrss.exe"
Algorithm Hash
--------- ----
SHA256 CB41E9D0E8107AA9337DBD1C56F22461131AD0952A2472B4477E2649D16E...
C:\> powershell -c "(Get-FileHash -a MD5 '%systemroot%\system32\csrss.exe').Hash"
B2D3F07F5E8A13AF988A8B3C0A800880
C:\> CertUtil -hashfile "%systemroot%\system32\csrss.exe" MD5 | findstr -v file
b2 d3 f0 7f 5e 8a 13 af 98 8a 8b 3c 0a 80 08 80
C:\>
Проверка целостности контрольной суммы файла Microsoft. Он может вычислять значения хеш - функции MD5 и SHA-1 .
Загрузите, распакуйте файлы, затем откройте командную строку, перейдите к извлеченному пути и введите следующую команду:
fciv -md5 filepath\filename.extension
Например:
fciv -md5 d:\programs\setup.exe
К сожалению, не то, что я знаю, но пакет Microsoft Sysinternals включает в себя хороший инструмент под названием sigcheck.
Пакетный файл, основанный на комментарии pbarney к ответу с наибольшим количеством голосов: Это копирует MD5-хэш любого файла, перетаскиваемого в пакетный файл, в буфер обмена:
@ECHO OFF
FOR /f "tokens=*" %%i IN ('@certutil -hashfile %1 MD5 ^| find /v "hash of file" ^| find /v "CertUtil"') DO SET r=%%i
SET r=%r: =%
ECHO %r% | clip
Чтобы сделать его элементом контекстного меню:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Get MD5]
@="Copy MD5 to Clipboard"
[HKEY_CLASSES_ROOT\*\shell\Get MD5\command]
@="\"C:\\<PATH TO BAT FILE>\\getMD5.bat\" \"%1\""
Это всего лишь сценарий оболочки cmd, который использует ответ tedr2, но удаляет лишние выходные строки и пробелы:
:: hash.cmd : Get a hash of a file
:: p1: file to be hashed
:: p2: Hash algorithm in UPPERCASE
:: p3: Output file
@setlocal
@for /f "tokens=*" %%a in (
'@certutil -hashfile %1 %2 ^|find /v "hash of file" ^|find /v "CertUtil"'
) do @(
@set str=%%a
)
@set str=%str: =%
@echo %str%
@endlocal
Вывод может быть перенаправлен в файл, если требуется:
@echo %str% > %3
например
sys> \dev\cmd\hash.cmd MyApp.dll SHA1
8ae6ac1e90ccee52cee5c8bf5c2445d6a92c0d4f
Контекстное меню MD5 делает именно это. Он добавляет опцию MD5 в контекстное меню файлов:
Контекстное меню MD5 - это бесплатное расширение оболочки для Windows, которое отображает хэш-сумму MD5 выбранного файла.
Он говорит, что он совместим с Windows 95, 98, ME, NT, 2000 и XP, хотя он отлично работает на Windows 7. Это небольшая загрузка (238 КБ) и включает в себя все, что вам нужно.
QuickHash поддерживает SHA-256 и SHA-512. Мне нужна была поддержка SHA-256 для проверки контрольной суммы библиотек JavaScript из белого списка для включения в аддон Firefox.
Cygwin содержит утилиту md5sum.exe
которая должна делать то, что вы хотите.
1. контрольная сумма
Я использую утилиту командной строки контрольной суммы .
- С открытым исходным кодом,
- Поддержка
md5
sha1
sha256
иsha512
Использование:
контрольная сумма [-t = sha1 | sha256 | sha512 | md5] [-c = подпись] [-f =] путь к файлу
2. Аргументы командной строки
-?
,--help
,-h
Распечатывает варианты.-f
,--file=VALUE
Имя файла.-t
,--type
,--hashtype=VALUE
Hashtype По умолчанию используетсяmd5
.-c
,--check=VALUE
Необязательно: проверка - подпись, которую вы хотите проверить. Нечувствительный к регистру.
3. Примеры использования
# Check md5 for "E:\Саша Неотразима\Sasha-Irresistible.exe" file
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe"
342B45537C9F472B93A4A0C5997A6F52
# Check sha256
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256
F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4
# Correct 41474147414741474147 sha256 hash or not?
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256 -c 41474147414741474147
Error - hashes do not match. Actual value was 'F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4'
# One more attempt
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256 -c F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4
Hashes match..
Это не встроенная утилита, но очень хороший вариант
http://checksumcompare.sanktuaire.com
Вы можете сравнить контрольную сумму по файлу и / или резюме, если две папки отличаются или идентичны.
Правильный ответ, конечно, да, CertUtil (см . Ответ tedr2).
Но я добавлю в Penteract бесплатный File Checksum Verifier, который, я думаю, является одной из самых удобных программ. (Отказ от ответственности: я связан с Penteract.)
Некоторые из его преимуществ:
- Сравнивает рассчитанные и ожидаемые хэши для вас.
- Минималистичный - нет элемента в контекстных меню файлов, нет дополнительной вкладки в свойствах файлов.
Чтобы проверить целостность этой программы (против атак «человек посередине») - она загружается через безопасное соединение.
Плюс: бесплатно, в автономном режиме (чтобы вам не нужно было загружать файлы), удобно для пользователя (перетащите файл и получите результат), запускается из меню «Пуск» (не нужно искать загруженный исполняемый файл, когда вы хотите использовать его через год) и поддерживает MD5, SHA1, SHA256 и т. д.
Вы можете попробовать msys2, это здесь.
Просто введите (алгоритм) сумму. (алгоритм) - это алгоритм хеширования, который вы хотите использовать, например, md5, sha1, sha256 ...
В отличие от Cygwin, этот инструмент является портативным, вы просто скачиваете ZIP-файл и распаковываете его в любое место. Вы можете использовать его простым щелчком мыши (msys2.exe).
Хоп этот инструмент поможет вам.
HashTab 3.0 - это бесплатное расширение оболочки, которое вычисляет множество контрольных сумм, включая MD5. Он интегрирован как новая вкладка в свойствах файла.
Вы можете использовать MD5sums для Windows, загрузка всего 28 КБ (Cygwin может быть излишним, если все, что вам нужно, это вычислять MD5-хэши).
Самый простой способ использовать его - использовать Проводник для перетаскивания файлов на md5sums.exe, чтобы получить их MD5-хэши.
Существует около 100 сторонних инструментов. Я использую MD5Hash. Для загрузки файлов sfv просто используйте TeraCopy, чтобы проверить хэши.
Для решения, которое работает в Windows или в любой другой среде, используйте Python.
установить Python - установщик Windows предоставляется по адресу https://www.python.org/downloads/
загрузите протестированную реализацию
cksum
, например, http://pastebin.com/raw.php?i=cKATyGLb - сохраните содержимое этого файла , например,c:\cksum.py
или там, где вам удобно
Затем выполнить контрольную сумму:
python c:\cksum.py INPUTFILE
Не так быстро, как скомпилированная утилита, но совместим с Unix cksum
и работает где угодно.
Мне нравится digestIT, хотя он кажется довольно старым и, возможно, не поддерживается.