612

Есть ли в Windows 7 встроенная утилита для проверки контрольных сумм / хэшей?

28 ответов28

1081

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 " ",""
175

Есть встроенная утилита, как указано в этом другом ответе.

Однако вы можете использовать это бесплатное приложение под названием HashTab, которое аккуратно интегрируется с Windows Explorer, регистрируя ... ну, вкладку в диалоге свойств файлов. Это довольно мило.

Скриншот HashTab

168

Я использую HashCheck (последняя версия), которая интегрируется как страница свойств для файлов и включает контекстное меню для сравнения с файлами проверки хеша (SFV).

Это бесплатно, и источник доступен.

Скриншот

80

Существует утилита FCIV от Microsoft, верификатор целостности контрольной суммы файла Microsoft (ссылка на скачивание).

Средство проверки целостности контрольной суммы файлов Microsoft - это неподдерживаемая утилита командной строки, которая вычисляет криптографические хеши MD5 или SHA1 для файлов.

Он не показывает Windows 7 в системных требованиях, но я только использовал его в Windows 8, и он работал.

64

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"
32

Новая версия 7-Zip также дает вам возможность контрольных сумм, просто щелкнув правой кнопкой мыши (это не включает MD5). Он имеет SHA-1, SHA-256, CRC-32, CRC-64 и т.д.

Введите описание изображения здесь ,


Для MD5 вы можете скачать HashTab и проверить, щелкнув правой кнопкой мыши, а затем свойства.

Введите описание изображения здесь

22

Вот тот, который я использовал ранее, который прекрасно интегрируется с диалоговым окном "Свойства" в Explorer: Летние свойства. Это открытый исходный код, а также доступна версия для x64.

Снимок экрана SummerProperties

Мне также нравится FileAlyzer от Safer Networking, который также предоставляет дополнительные функции. Но только для контрольных сумм Summer Properties легковесна и делает свою работу.

14

HashMyFiles от Nirsoft - это небольшая утилита, которая позволяет вычислять хэши MD5 и SHA1 для одного или нескольких файлов в вашей системе. Вы можете легко скопировать список хэшей MD5/SHA1 в буфер обмена или сохранить их в файл text/html/xml.

HashMyFiles также можно запустить из контекстного меню проводника Windows и отображать хэши MD5/SHA1 выбранного файла или папки.

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

HashMyFiles является бесплатным и портативным.

13

Я нашел этот скрипт 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, который я предполагаю, что вы установили

8

Я добавляю это здесь только потому, что я не видел полностью работающих примеров 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:\>
7

Проверка целостности контрольной суммы файла Microsoft. Он может вычислять значения хеш - функции MD5 и SHA-1 .

Загрузите, распакуйте файлы, затем откройте командную строку, перейдите к извлеченному пути и введите следующую команду:

fciv -md5 filepath\filename.extension

Например:

fciv -md5 d:\programs\setup.exe
6

К сожалению, не то, что я знаю, но пакет Microsoft Sysinternals включает в себя хороший инструмент под названием sigcheck.

6

Пакетный файл, основанный на комментарии 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\""
3

Это всего лишь сценарий оболочки 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
3

Контекстное меню MD5 делает именно это. Он добавляет опцию MD5 в контекстное меню файлов:

Введите описание изображения здесь

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

Контекстное меню MD5 - это бесплатное расширение оболочки для Windows, которое отображает хэш-сумму MD5 выбранного файла.

Он говорит, что он совместим с Windows 95, 98, ME, NT, 2000 и XP, хотя он отлично работает на Windows 7. Это небольшая загрузка (238 КБ) и включает в себя все, что вам нужно.

2

QuickHash поддерживает SHA-256 и SHA-512. Мне нужна была поддержка SHA-256 для проверки контрольной суммы библиотек JavaScript из белого списка для включения в аддон Firefox.

2

Cygwin содержит утилиту md5sum.exe которая должна делать то, что вы хотите.

1

1. контрольная сумма

Я использую утилиту командной строки контрольной суммы .

Использование:

контрольная сумма [-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..
0

Это не встроенная утилита, но очень хороший вариант

http://checksumcompare.sanktuaire.com

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

0

Как то так: winmd5sum.
Это тоже хорошо: sendtoMD5 - щелкни правой кнопкой мыши, отправь ... и получишь результат.

0

Правильный ответ, конечно, да, CertUtil (см . Ответ tedr2).

Но я добавлю в Penteract бесплатный File Checksum Verifier, который, я думаю, является одной из самых удобных программ. (Отказ от ответственности: я связан с Penteract.)

Некоторые из его преимуществ:

  • Сравнивает рассчитанные и ожидаемые хэши для вас.
  • Минималистичный - нет элемента в контекстных меню файлов, нет дополнительной вкладки в свойствах файлов.

Чтобы проверить целостность этой программы (против атак «человек посередине») - она загружается через безопасное соединение.

Проверка контрольной суммы файла Penteract

Плюс: бесплатно, в автономном режиме (чтобы вам не нужно было загружать файлы), удобно для пользователя (перетащите файл и получите результат), запускается из меню «Пуск» (не нужно искать загруженный исполняемый файл, когда вы хотите использовать его через год) и поддерживает MD5, SHA1, SHA256 и т. д.

0

Вы можете попробовать msys2, это здесь.

Просто введите (алгоритм) сумму. (алгоритм) - это алгоритм хеширования, который вы хотите использовать, например, md5, sha1, sha256 ...

В отличие от Cygwin, этот инструмент является портативным, вы просто скачиваете ZIP-файл и распаковываете его в любое место. Вы можете использовать его простым щелчком мыши (msys2.exe).

Хоп этот инструмент поможет вам.

0

HashTab 3.0 - это бесплатное расширение оболочки, которое вычисляет множество контрольных сумм, включая MD5. Он интегрирован как новая вкладка в свойствах файла.

0

Вы можете использовать MD5sums для Windows, загрузка всего 28 КБ (Cygwin может быть излишним, если все, что вам нужно, это вычислять MD5-хэши).

Самый простой способ использовать его - использовать Проводник для перетаскивания файлов на md5sums.exe, чтобы получить их MD5-хэши.

-1

Существует около 100 сторонних инструментов. Я использую MD5Hash. Для загрузки файлов sfv просто используйте TeraCopy, чтобы проверить хэши.

-1

Ну, я сделал программу для вычисления некоторых хэшей из файла. Я надеюсь, что это поможет вам.

Что это делает? Он вычисляет хеш SHA-1, хеш SHA-384, хеш MD5 и хеш SHA-256 . Ну вот и все :)

-2

Для решения, которое работает в Windows или в любой другой среде, используйте Python.

  1. установить Python - установщик Windows предоставляется по адресу https://www.python.org/downloads/

  2. загрузите протестированную реализацию cksum , например, http://pastebin.com/raw.php?i=cKATyGLb - сохраните содержимое этого файла , например, c:\cksum.py или там, где вам удобно

Затем выполнить контрольную сумму:

python c:\cksum.py INPUTFILE

Не так быстро, как скомпилированная утилита, но совместим с Unix cksum и работает где угодно.

-3

Мне нравится digestIT, хотя он кажется довольно старым и, возможно, не поддерживается.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .