Есть ли в Windows 7 встроенная утилита для проверки контрольных сумм / хэшей?
Есть ли в Windows 7 встроенная утилита для проверки контрольных сумм / хэшей?
Ответы:
Есть встроенная утилита, как указано в этом другом ответе .
Однако вы можете использовать это бесплатное приложение под названием HashTab, которое аккуратно интегрируется с Windows Explorer, регистрируя ... ну, вкладку в диалоге свойств файлов. Это довольно мило.
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 " ",""
certutil
это недоступно в Windows PE , поэтому, если вы пытаетесь вычислить контрольную сумму в сценарии задачи перед развертыванием в PE, вам придется использовать внешний инструмент, например Microsoft FCIV .
CertUtil -hashfile C:\TEMP\MyDataFile.img MD5
не выдает тот же хеш, что и md5sum /tmp/MyDataFile.img
в Linux (я гарантирую, что это тот же файл с монтированием)
Я использую 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"
powershell Get-FileHash -Algorithm md5 <file_to_check> | Format-List
Get-FileHash "C:\foo.exe" -Algorithm MD5,SHA1,SHA256 | Format-List
нативно, чтобы перечислить несколько хэшей подряд? Там нет такой инструкции, хранящейся в консоли? Я несколько раз пытался переформулировать с правильным синтаксисом, но он возвращает ошибку, и кажется, что он не работает без встраивания скрипта.
Новая версия 7-Zip также дает вам возможность контрольных сумм, просто щелкнув правой кнопкой мыши (это не включает MD5 ). Он имеет SHA-1 , SHA-256 , CRC-32, CRC-64 и т. Д.
Для MD5 вы можете скачать HashTab и проверить, щелкнув правой кнопкой мыши, а затем свойства.
Вот тот, который я использовал ранее, который прекрасно интегрируется с диалоговым окном «Свойства» в Explorer: Летние свойства . Это открытый исходный код , а также доступна версия для x64 .
Мне также нравится FileAlyzer от Safer Networking , который также предоставляет дополнительные функции. Но только для контрольных сумм, Летние Свойства легки и делают работу.
HashMyFiles от Nirsoft - это небольшая утилита, которая позволяет вычислять хэши MD5 и SHA1 для одного или нескольких файлов в вашей системе. Вы можете легко скопировать список хэшей MD5 / SHA1 в буфер обмена или сохранить их в файл text / html / xml.
HashMyFiles также можно запустить из контекстного меню проводника Windows и отображать хэши MD5 / SHA1 выбранного файла или папки.
HashMyFiles является бесплатным и портативным.
…that integrates into Windows [Explorer]
Я нашел этот скрипт 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
'fciv' is not recognized as an internal or external command, operable program or batch file.
Microsoft Windows [Версия 10.0.14393]
К сожалению, не то, что я знаю, но пакет 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\""
certutil -hashfile %1 md5
работает
Контекстное меню MD5 делает именно это. Он добавляет опцию MD5 в контекстное меню файлов:
Контекстное меню MD5 - это бесплатное расширение оболочки для Windows, которое отображает хэш-сумму MD5 выбранного файла.
В нем говорится, что он совместим с Windows 95, 98, ME, NT, 2000 и XP, хотя он отлично работает для меня в Windows 7. Это небольшая загрузка (238 КБ) и включает в себя все, что вам нужно.
Это всего лишь сценарий оболочки 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
Cygwin содержит md5sum.exe
утилиту, которая должна делать то, что вы хотите.
QuickHash поддерживает SHA-256 и SHA-512. Мне понадобилась поддержка SHA-256 для проверки контрольной суммы библиотек JavaScript из белого списка для включения в дополнение Firefox.
Я использую утилиту командной строки контрольной суммы .
md5
, sha1
, sha256
и sha512
.Использование:
контрольная сумма [-t = sha1 | sha256 | sha512 | md5] [-c = подпись] [-f =] путь к файлу
-?
, --help
, -h
-f
, --file=VALUE
-t
, --type
, --hashtype=VALUE
md5
. -c
, --check=VALUE
# 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..
HashTab 3.0 - это бесплатное расширение оболочки, которое вычисляет множество контрольных сумм, включая MD5. Он интегрирован как новая вкладка в свойствах файла.
Вы можете использовать MD5sums для Windows , загрузка всего 28 КБ ( Cygwin может быть излишним, если все, что вам нужно, это вычислять MD5-хэши).
Самый простой способ использовать его - использовать Проводник для перетаскивания файлов на md5sums.exe, чтобы получить их MD5-хэши.
Правильный ответ, конечно, да, CertUtil (см . Ответ tedr2 ).
Но я добавлю бесплатный File Checksum Verifier от Penteract, который, я думаю, является одной из самых удобных программ. (Отказ от ответственности: я связан с Penteract.)
Некоторые из его преимуществ:
Чтобы проверить целостность этой программы (против атак «человек посередине» ) - она загружается через безопасное соединение.
Плюс: бесплатный, офлайн (чтобы вам не приходилось загружать файлы), удобный (перетащите файл и получите результат), запускается из меню «Пуск» (не нужно искать загруженный исполняемый файл, когда вы хотите использовать его через год) и поддерживает MD5, SHA1, SHA256 и т. д.
Это не встроенная утилита, но очень хороший вариант
http://checksumcompare.sanktuaire.com
Вы можете сравнить контрольную сумму по файлу и / или резюме, если две папки отличаются или идентичны.
Вы можете попробовать msys2, это здесь .
Просто введите (алгоритм) сумму. (алгоритм) - это алгоритм хеширования, который вы хотите использовать, например, md5, sha1, sha256 ...
В отличие от Cygwin, этот инструмент является портативным, вы просто скачиваете ZIP-файл и распаковываете его в любое место. Вы можете использовать его простым щелчком мыши (msys2.exe).
Хоп этот инструмент поможет вам.
Для решения, которое работает в 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
и работает где угодно.