Чи є вбудована утиліта контрольної суми в Windows 7?


676

Чи є вбудована утиліта контрольної суми / хеш для Windows 7?


Можливо, це не моя область, але Powershell, побудова сценарію мови.
Phoshi

18
Це одна з цих неприємних вимог "Мені заборонено встановлювати будь-яке стороннє програмне забезпечення"? Якщо так, спробуйте googling для "хеша PowerShell SHA1", і вам слід отримати кілька скриптів / командлетів, які будуть працювати на вбудованому PowerShell за допомогою крипто-API MS.
afrazier

8
Є GetFile-Hash. Вам потрібно PS 4.0 або розширення спільноти stackoverflow.com/questions/10521061 / ...
rofrol

2
Антивірус Avast блокує завантаження з вищевказаного сайту для мене, тому, можливо, варто підходити обережно.
Жуль

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

Відповіді:


195

Існує вбудована утиліта, як зазначено в цій іншій відповіді .

Однак ви можете скористатися цим безкоштовним додатком під назвою 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
"Є вбудована утиліта, яка робить саме те, що вам потрібно. Однак ви можете скористатися цим іншим інструментом, який робить те, чого ви не просили." Чому це прийнята відповідь?
абаумг

8
> "Спасибі. На жаль, вбудований в мене був важливою вимогою." Тоді чому ви вибрали не вбудоване програмне забезпечення, яке не задається питанням як відповідь?
KalEl

1186

CertUtil - це попередньо встановлена ​​утиліта Windows, яку можна використовувати для генерування контрольних сум хешу:

certUtil -hashfile pathToFileToCheck [HashAlgorithm]

Вибір 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
У цьому питанні вказано вбудований і окрім скрипта повноважень, це єдиний, який вбудований в Windows 7. Є деякі середовища, де не можна просто встановити програмне забезпечення. Моєї єдиної заяви не здається достатньою для цієї відповіді.
jbo5112

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

6
Зверніть увагу, що certutilце не доступно в Windows PE , тому якщо ви намагаєтеся обчислити контрольну суму в сценарії завдань перед розгортанням в PE, вам доведеться використовувати зовнішній інструмент, як Microsoft FCIV .
Wayfarer

3
Це неймовірно, але CertUtil -hashfile C:\TEMP\MyDataFile.img MD5не створює такий самий хеш, як md5sum /tmp/MyDataFile.imgпід Linux (я гарантую, що це той самий файл із кріпленням)
lalebarde

13
@lalebarde Існує лише один стандарт для MD5. Якщо ви отримуєте різні результати в одному файлі, це тому, що щось вносить деякі зміни в цей файл і призводить до того, що хеші будуть різними. Це одна з найважливіших функцій MD5 та інших стандартів хешування.
Пол

178

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

Це безкоштовно, і джерело доступне.

Знімок екрана


3
Веселий додаток. Однозначно найкращий. Він може перевірити хеш подвійним клацанням на створеному файлі.MD5! І він пам’ятає, які файли були хешовані.
Павло Радзівіловський

6
AVG відзначає, що основна утиліта Windows була змінена - це те, що часто робить зловмисне програмне забезпечення.
dunxd

11
Безкоштовно, з відкритим кодом, інтегрується з контекстною меню сторінки властивостей і Explorer, має перевірку .MD5 і підтримує SHA-1. Не кажучи вже про це всього 85кб і працює дуже швидко. Ця програма абсолютно безглуздо , дякую!
Şafak Gür

4
і ви можете встановити його за допомогою шоколаду!
Майкл Карон

4
@Sossenbinder Ви, мабуть, шукали не в тому місці. SHA-256 підтримується з 14 грудня. Інструмент оновлювався щонайменше до вересня 16, тому, хоча останнім часом він може бути не активним, можливо, до нього ще не багато чого додати. github.com/gurnec/HashCheck/releases
B шар

84

Існує утиліта FCIV від Microsoft, програма перевірки цілісності файлів Microsoft ( посилання на завантаження ).

Інструмент перевірки цілісності файлових файлів Microsoft - це непідтримувана утиліта командного рядка, яка обчислює криптографічні хеші MD5 або SHA1 для файлів.

Він не відображає Windows 7 в системних вимогах, але я тільки що використовував його в Windows 8, і він працював.


Чому ми посилаємось на непідтримувану утиліту командного рядка. Це навіть не вкладається в оболонку, яку я впевнений, що хотів автор.
Рамхаунд

31
Ця утиліта була корисною для мене. Я завантажив ізо-образ із 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 ви говорите?
klaar

На жаль, інструмент контрольної суми на 7 zip не дозволяє копіювати контрольну суму!
Дерек Махар

Я думаю, що вибір тексту хешу та Ctrl + C працює чудово.
abe312

У моєму налаштуванні, якщо ви перейдете до властивостей файлу, ви можете скопіювати хеш клацніть правою кнопкою миші-> копіювати на вкладці хешів файлів.
abe312

23

Ось один, який я використав до цього, добре поєднується з діалоговим вікном «Властивості» Провідника: Літні властивості . Це відкритий код , також доступна версія x64 .

SummerProperties екран постріл

Мені також подобається FileAlyzer Safeger Networking , який також надає додаткові функції. Але тільки для контрольних сум, Summer Properties невелика і робить свою роботу.


1
Єдина проблема з цим полягає в тому, що він не підтримує папки або групи файлів. Це також поза dvlp
Павло Радзівіловський

1
Ще одна проблема з цим полягає в тому, що ви не можете вставити хеш у нього і подивитися, чи відповідає він
Джонатан

Я знаю, що це насправді старе, але як ти відповів на це питання за рік, перш ніж його задали?
Барух

@Baruch Якщо ви подивитесь на історію редагування запитання, ви побачите, що в травні 2015 року ще одне подібне питання (але старіше) відповіді було об'єднано в це. Я не впевнений, чому саме нове питання було обране для виживання, але саме це виглядає дивним. Ось оригінальне старе питання .
Кріс В. Реа

15

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

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

alt текст

HashMyFiles безкоштовний і портативний.


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

саме так, 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

Я додаю це сюди лише тому, що я не побачив жодних повністю працюючих прикладів оболонок, готових до копію-вставлення:

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 у контекстне меню файлів:

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

Alt текст

Контекстне меню MD5 - це безкоштовне розширення оболонки для Windows, яке відображає хеш-суму MD5 обраного файлу.

В ній сказано, що він сумісний із Windows 95, 98, ME, NT, 2000 та XP, хоча для мене це працює чудово у Windows 7. Це невелике завантаження (238 КБ) і включає все необхідне.


3
"Через серйозну помилку в останній версії нашого інструменту для великих файлів розміром> 2 ^ 31 байт (~ 2,1 ГБ) ми наразі більше не надаємо завантаження."
Taha Jahangir

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 Shell.
Крістіан Цюпіту

Крістіан Цюпіту просто тому, що ви не знаєте, як це зробити, це не означає, що цього не можна зробити. Я використовую багато програм CLI з фонового режиму робочого столу / папки Windows Shell та контекстного меню набраних програм, і вони прекрасно працюють.
JasonXA

2
Цигвін масово перенаселений. Є багато рідних бінарних файлів, які виконують цю роботу, більшість з них - менше 200 тис.
sCiphre

Немає нічого «масового перенапруги» про Сігвіна. Утиліта налаштування дозволяє перевіряти та завантажувати лише саме те, що вам потрібно, і нічого більше. Якщо ви вибрали лише md5sum, це все, що ви отримаєте.
Ніколь Гамільтон

2

QuickHash підтримує SHA-256 і SHA-512. Мені була потрібна підтримка SHA-256, щоб перевірити контрольну суму білих бібліотек JavaScript для включення в додаток Firefox.


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

1

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

Я використовую утиліту командного рядка контрольної суми .

Використання:

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


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

Щось подібне: winmd5sum .
Це теж приємно: sendtoMD5 - клацніть правою кнопкою миші, надіслати до…, і ви отримаєте результат.


0

HashTab 3.0 - це безкоштовне розширення оболонки, яке обчислює багато контрольних сум, включаючи MD5. Вона інтегрована як нова вкладка у Властивості файлу.


0

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

Найпростіший спосіб його використання - використовувати Explorer для перетягування файлів на md5sums.exe для отримання їх хешей MD5.


0

Правильна відповідь, звичайно, так, CertUtil (див . Відповідь tedr2 ).

Але я додам безкоштовну перевірку файлів перевірки файлів 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

Ну, я зробив програму для обчислення деяких хешів з файлу. Я сподіваюся, що це вам допоможе.

Що це робить? Він обчислює хеш SHA-1, хеш SHA-384, хеш MD5 і хеш SHA-256 . Ну, ось про це :)


-1

Там як 100 сторонніх інструментів. Я використовую MD5Hash. Для завантаження файлів sfv просто використовуйте TeraCopy, щоб перевірити хеші.


-2

Для рішення, яке працює в Windows або майже в будь-якому іншому середовищі, використовуйте Python.

  1. install 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 , хоча він, здається, досить старий і, можливо, не підтримується.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.