2011-02-14 18:38:56 +0000 2011-02-14 18:38:56 +0000
707
707

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

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

Ответы (26)

1237
1237
1237
2015-04-06 15:21:26 +0000

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 " ",""
201
201
201
2011-02-14 18:42:47 +0000

Существует встроенная утилита, как указано в этот другой ответ .

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

183
183
183
2009-12-30 05:15:56 +0000

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

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

85
85
85
2012-09-05 11:51:42 +0000

Есть утилита FCIV от Microsoft, Microsoft File Checksum Integrity Verifier ссылка для скачивания ).

Утилита Microsoft File Checksum Integrity Verifier является неподдерживаемой утилитой командной строки, которая вычисляет криптографические хэши MD5 или SHA1 для файлов.

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

79
79
79
2015-05-22 20:58:13 +0000

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"
40
40
40
2016-01-11 21:31:41 +0000

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

.

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

.

24
24
24
2009-12-30 00:55:29 +0000

Вот один, который я использовал до этого, который хорошо интегрируется с диалогом “Свойства” Проводника: Летние свойства . Это открытый источник, и версия x64 также доступна.

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

14
14
14
2011-02-14 19:45:15 +0000

Я нашел этот скрипт 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
            }
        }
    }
}

Source: Расчет SHA1 в PowerShell

Он использует .NET, который, как я полагаю, вы установили.

11
11
11
2016-10-19 01:33:24 +0000

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

2019 Обновление:

Вывод certutil, кажется, изменился со времен Windows 8, так что мой старый фильтр для изоляции хэша больше не работает. Посторонние пробелы тоже исчезли - меньше поводов для беспокойства при написании скриптов. Вот новая демонстрация с возможностью копирования и вставки:

C:\>CertUtil -hashfile "%systemroot%\system32\csrss.exe" | findstr -v ash
0300c7833bfba831b67f9291097655cb162263fd

C:\>CertUtil -hashfile "%systemroot%\system32\csrss.exe" SHA256 | findstr -v :
a37d616f86ae31c189a05b695571732073b9df97bf5a5c7a8ba73977ead3e65b

C:\>ver

Microsoft Windows [Version 10.0.16299.1451]

C:\>

Чтобы сделать это более устойчивым к повреждению от очередного изменения в certutil, мы должны искать строки с не-шестнадцатеричными символами для фильтрации: [^0-9a-zA-Z]. Это также должно сделать его более безопасным для других локалей и языков.

C:\>CertUtil -hashfile "C:\windows\fonts\arial.ttf" | findstr -vrc:"[^0123-9aAb-Cd-EfF]"
12c542ef8c99cf3895ad069d31843a5210857fdc

Почему этот анти-шестигранный регекс настолько странный? Смотрите этот вопрос , чтобы узнать, как регекс-диапазоны в findstr работают не так, как должны. Я включил дополнительный символ пробела для обратной совместимости со старыми версиями certutil, но это необязательно.

Обратите внимание, что по умолчанию Powerhell Get-FileHash - это SHA256, в то время как certutil все еще имеет значение по умолчанию SHA1. Поэтому укажите ваш алгоритм явно, где это необходимо. Вы можете быстро проверить доступные опции, такие как:

C:\>powershell -c "Get-FileHash -?" | findstr gori

    Get-FileHash [-Path] <string[]> [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}]
    Get-FileHash -LiteralPath <string[]> [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 |
    Get-FileHash -InputStream <Stream> [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}]

C:\>certutil -hashfile -v /? | findstr gori

  CertUtil [Options] -hashfile InFile [HashAlgorithm]
Hash algorithms: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512
```.
8
8
8
2013-03-17 20:26:52 +0000

Microsoft File Checksum Integrity Verifier _. Он может вычислять MD5 и SHA-1 хэш-значения.

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

fciv -md5 filepath\filename.extension

Например:

&00001

7
7
7
2014-09-13 14:14:08 +0000

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

7
7
7
2016-05-24 09:59:53 +0000

Пакетный файл, основанный на комментарии 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\""
4
4
4
2017-09-02 13:47:32 +0000

Это просто сценарий командной оболочки, который использует ответ 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
4
4
4
2009-12-30 04:08:39 +0000

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

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

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

3
3
3
2012-11-18 00:01:54 +0000

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

2
2
2
2017-01-04 12:10:05 +0000

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

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

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

контрольная сумма [-t=sha1|sha256|sha512|md5] [-c=подпись] [-f=]путь к файлу


2. Аргументы командной строки

  • -?, --help, -h Распечатывание опций.
  • -f, --file=VALUE Имя файла.
  • -t, --type, --hashtype=VALUE Хэш-тип по умолчанию 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..
1
1
1
2009-12-30 00:57:03 +0000

Что-то вроде этого: (http://www.nullriver.com/products/winmd5sum). Этот тоже милый: sendtoMD5 - щелкните правой кнопкой мыши, отправьте на …, и вы получите результат.

1
1
1
2017-06-26 19:14:09 +0000

Это не встроенная утилита, но ее очень хорошая опция http://checksumcompare.sanktuaire.com

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

1
1
1
2012-11-18 00:11:17 +0000

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

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

1
1
1
2015-08-31 21:35:34 +0000

Правильный ответ, конечно, да, CertUtil (см. ответ tedr2 ](https://superuser.com/a/898377/125659)).

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

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

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

Проверка целостности этой программы (против man-in-the-middle атак ) - она загружается по защищенному соединению.

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

1
1
1
2009-12-30 06:12:33 +0000

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

1
1
1
2018-07-07 09:29:40 +0000

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

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

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

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

-1
-1
-1
2014-09-08 18:50:39 +0000

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

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

-1
-1
-1
2011-02-16 08:27:33 +0000

Там около 100 сторонних инструментов. Я использую MD5Hash. Для скачивания sfv-файлов просто используйте TeraCopy для проверки хэшей.

-2
-2
-2
2014-08-22 19:44:02 +0000

Для решения, которое работает на 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
-3
-3
2014-06-16 22:08:04 +0000

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

Questões relacionadas

3
13
7
9
8