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


677

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


Возможно, это не моя область, но Powershell, встроенный язык сценариев.
Фоши

18
Является ли это одним из тех глупых требований «мне не разрешено устанавливать какие-либо сторонние программы»? Если это так, попробуйте поискать «PowerShell SHA1-хэш», и вы должны получить некоторые сценарии / командлеты, которые будут работать на встроенном PowerShell с использованием MS Crypto API.
afrazier

8
Есть GetFile-Hash. Вам нужна PS 4.0 или расширения сообщества stackoverflow.com/questions/10521061/…
rofrol

2
Антивирус Avast блокирует загрузку с вышеуказанного сайта, поэтому стоит подойти с осторожностью.
Жюль

10
Обратите внимание, что лучший ответ (для меня) - это второй ответ, который имеет гораздо больше голосов, чем ответ, выбранный спрашивающим. Читателю: посмотрите ниже, для опции "certutil.exe".
macetw

Ответы:


194

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

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

Скриншот HashTab


90
Я предпочитаю HashCheck, а не HashTab, прежде всего потому, что он может обрабатывать несколько смешанных файлов / папок и может создавать / проверять файлы SFV / MD5 / SHA1. Моя рецензия на форумах Ars более детальна.
afrazier

45
Помните, что HashTab бесплатен только для частного использования! HashCheck с открытым исходным кодом и совершенно бесплатно (лицензия BSD)
keiki

36
да, есть cmd: CertUtil -hashfile _main.exe MD5
Скотт 理论 理论

14
«Существует встроенная утилита, которая делает именно то, что вам нужно. Однако вы можете использовать этот другой инструмент, который делает то, что вы не просили». Почему это принятый ответ?
abaumg

8
> «Спасибо. К сожалению, для меня было необходимым встроенное устройство». Тогда почему вы выбрали не встроенное программное обеспечение, на которое вопрос не задается, в качестве ответа?
KalEl

1188

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

103
Вопрос задан как встроенный, и, кроме скрипта powershell, это единственный, который встроен в Windows 7. Существуют некоторые среды, в которых нельзя просто установить программное обеспечение. Мое единственное возражение не кажется достаточным для этого ответа.
jbo5112,

18
MD5.bat: @certutil -hashfile% 1 MD5 | find / v "хеш файла" | find / v "CertUtil"
pbarney

6
Обратите внимание, что certutilэто недоступно в Windows PE , поэтому, если вы пытаетесь вычислить контрольную сумму в сценарии задачи перед развертыванием в PE, вам придется использовать внешний инструмент, например Microsoft FCIV .
Путник

3
Это невероятно, но CertUtil -hashfile C:\TEMP\MyDataFile.img MD5не выдает тот же хеш, что и md5sum /tmp/MyDataFile.imgв Linux (я гарантирую, что это тот же файл с монтированием)
lalebarde

14
@lalebarde Существует только один стандарт для MD5. Если вы получаете разные результаты для одного и того же файла, это происходит потому, что что-то вносит какие-то изменения в этот файл и приводит к тому, что хэши будут другими. Это одна из важнейших функций MD5 и других стандартов хеширования.
Пол

178

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

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

Скриншот


3
Веселое приложение. Определенно лучший. Он может проверить хэш двойным кликом по созданному файлу. MD5! И он запоминает, какие файлы были хэшированы.
Павел Радзивиловский

6
AVG отмечает, что основная служебная программа Windows была изменена - это то, что часто делают вредоносные программы.
dunxd

11
Бесплатный, с открытым исходным кодом, интегрируется со страницей свойств и контекстным меню проводника, имеет проверку .MD5 и поддерживает SHA-1. Не говоря уже о том, что он всего 85kb и работает очень быстро. Это приложение нелепо здорово , спасибо!
Шафак Гюр

4
и вы можете установить его через Chocolatey!
Майкл Кэрон

4
@Sossenbinder Вы, наверное, искали не в том месте. SHA-256 поддерживается с декабря 14 года. Инструмент обновлялся по крайней мере до сентября '16, поэтому, хотя в последнее время он может быть неактивен, возможно, добавить к нему немного. github.com/gurnec/HashCheck/releases
уровень B

84

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

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

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


Почему мы ссылаемся на неподдерживаемую утилиту командной строки. Это даже не встраивается в оболочку, что, я уверен, хотел автор.
Ramhound

31
Эта утилита была полезна для меня. Я скачал ISO-образ из MSDN и мне нужно было его проверить. Я не хотел никаких сторонних инструментов. Мне не нужна была интеграция оболочки, и автор не просил об этом. Это из надежного источника Microsoft, и пока он не поддерживается, он все еще работает. Я разместил здесь ссылку, потому что другие люди, как я, могут найти ее полезной.
создатель

29
Я с @creator. Это может быть не поддерживаемое программное обеспечение, но, по крайней мере, Microsoft является автором. Программы контрольных сумм потенциально очень важны для поддержания безопасности; Я бы предпочел не получить мой от какой-то случайной третьей стороны.
ellisbben

3
Хотя это утилита OKish для умеренного использования, она нестабильна. Я использую его в сценарии xdelta, чтобы определить, отличаются ли файлы одинакового размера, и мне жаль, что я получаю примерно 1 сбой каждые несколько сотен файлов. Это ненадежно, поэтому совет: используйте что-то еще.
JasonXA

PsFCIV - это перезапись PowerShell, которая поддерживает исходную функциональность базы данных XML, а также хэши SHA-256, SHA-384 и SHA-512.
Пользователь5910

76

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"

1
Добавив Format-List, чтобы показать полный вывод, если строка результата хеширования слишком длинная powershell Get-FileHash -Algorithm md5 <file_to_check> | Format-List
celeron533

Наконец-то дело доходит до PowerShell!
Франклин Ю

Гениальный вопрос и ответы. Спасибо за все это. Я бы порекомендовал другое программное обеспечение, но это довольно полно. Не могу поблагодарить вас за эту тему. Извините ... Могу я спросить, почему PowerShell на Win 8.1 и 10 не распознает Get-FileHash "C:\foo.exe" -Algorithm MD5,SHA1,SHA256 | Format-Listнативно, чтобы перечислить несколько хэшей подряд? Там нет такой инструкции, хранящейся в консоли? Я несколько раз пытался переформулировать с правильным синтаксисом, но он возвращает ошибку, и кажется, что он не работает без встраивания скрипта.
K0media

38

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

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


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

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


О какой версии 7-zip вы говорите?
Клар

К сожалению, инструмент контрольной суммы 7-zip не позволяет вам копировать контрольную сумму!
Дерек Махар

Я думаю, что выделение текста хеша и Ctrl + C работает нормально.
abe312

В моей настройке, если вы перейдете к свойствам файла, вы можете скопировать хеш, щелкнув правой кнопкой мыши -> копировать на вкладке хэши файлов.
abe312

23

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

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

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


1
Единственная проблема в том, что он не поддерживает папки или группы файлов. Это также вне dvlp
Павел Радзивиловский

1
Другая проблема заключается в том, что вы не можете вставить в него хеш и посмотреть, соответствует ли он
Джонатан

Я знаю, что это действительно старо, но как вы ответили на вопрос больше, чем за год до того, как его спросили?
Барух

@Baruch Если вы посмотрите историю редактирования вопроса, то увидите, что в мае 2015 года другой похожий вопрос (но более старый) соединил свои ответы с этим. Я не уверен, почему новый вопрос был выбран для выживания, но поэтому он выглядит странно. Вот оригинальный старый вопрос .
Крис В. Ри

15

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

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

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

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


+1, похоже на новый - последний раз, когда я проверял (перед переходом на версию md5sum из командной строки ), был FastSum - но это было своего рода пробное программное обеспечение, которое сильно беспокоило. HashMyFiles хорош тем, что позволяет перетаскивать несколько файлов и экспортировать в CSV (обе важные функции). Не думаю, что я видел это, когда нашел FastSum пару лет назад.
Ник

это верно, HashMyFiles является довольно недавним дополнением к портфелю NirSoft, он был впервые выпущен в 2007 году.

…that integrates into Windows [Explorer]
Synetech

И очень маленький размер!
Педи Т.

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


7
Win 7 поставляется с .NET 3.5 и PowerShell v2, а PowerShell всегда зависел от .NET, поэтому, если у вас есть PS, у вас есть .NET. :-)
afrazier

9

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

Этот ответ и ответ @ создателя должны быть объединены. Они относятся к одному и тому же инструменту.
leif81

Заголовок вопроса: есть ли в Windows 7 встроенная утилита для проверки контрольных сумм / хэшей? 'fciv' is not recognized as an internal or external command, operable program or batch file.Microsoft Windows [Версия 10.0.14393]
Амит Найду

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

Или, если вы не возражаете против дополнительных выходных данных, пакетный файл с одним вкладышем также certutil -hashfile %1 md5работает
jrh

3

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

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

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

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

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


3
«Из-за серьезной ошибки в последней версии нашего инструмента для больших файлов с размерами> 2 ^ 31 байт (~ 2,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

2

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


2
К сожалению, основанный на командной строке, он не интегрируется с оболочкой Windows.
Кристиан Чиупиту

Кристиан Чиупиту, просто потому что ты не знаешь, как это сделать, это не значит, что этого нельзя сделать. Я использую множество приложений CLI из фона рабочего стола / папки Windows Shell и контекстного меню типизированных приложений, и они работают нормально.
JasonXA

2
Cygwin массово перебор. Есть много родных двоичных файлов, которые делают эту работу, большинство из них до 200 КБ.
Шифр

В Cygwin нет ничего «массово излишнего». Утилита настройки позволяет вам выбрать и загрузить только то, что вам нужно, и ничего более. Если все, что вы выбираете, это md5sum, это все, что вы получаете.
Николь Гамильтон

2

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


Обновленная ссылка: sourceforge.net/projects/quickhash/?source=directory (примечание: JetBrains в настоящее время также использует SHA-256 для своих контрольных сумм.)
Трой Джиззи

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

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


0

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

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


0

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

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

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

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

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

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

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


1
Спасибо за раскрытие вашей принадлежности. Однако, пожалуйста, не создавайте слишком много постов такого рода, так как это может считаться спамом. Для получения дополнительной информации о рекламных сообщениях, пожалуйста, посетите superuser.com/help/promotion .
BwDraco

1
Это работает только на Windows 10, и операционная система специально спросила о W7.
Jool

0

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

http://checksumcompare.sanktuaire.com

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


0

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

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

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

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



-1

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


-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и работает где угодно.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.