Генериране на хеш проверки в Windows

Windows 7, 10, 11
Аватар
Nikolay
Site Admin
Мнения: 23
Регистриран на: Пон Май 03, 2021 3:34 pm

Генериране на хеш проверки в Windows

Мнение от Nikolay »

В много случай се предоставят различни файлове за изтегляне съпроводени със информация за техните контролни суми.
Това се прави с цел да се провери тяхната автентичност, за да сме сигурни, че файла не е модифициран от някой друг. Това е гаранция, че точно това е файла от оригиналния източник, който искаме да изтеглим. Полезно е също и за сравнение на два файла изтеглени примерно от различни източници.
Windows има вградени възможности за проверка на суми но това се прави само в PowerShell, тоест с писане на команди или инсталиране на допълнително приложение с графичен интерфейс.

В директорията, където се намира файла, който искаме да проверим държим натиснат SHIFT и щракваме с десен бутон на мишката. В менюто избираме "Отваряне на прозореца PоwerShell тук".
Един метод използва командата certutil в командния прозорец. например:
certutil -hashfile c:\Users\JDoe\Desktop\abc.exe SHA512

Тази команда връща SHA512 хеш на файл abc.exe, който се намира в указания път на файла. Можете да използвате други стойности след SHA, като например 1 или 256, за да произведете съответния хеш, също можете да замените на MD5 или други поддържани алгоритми.
Най-популярни алгоритми за хеширане са MD5, SHA1, SHA256, SHA384, SHA512.

Друг метод в Windows PowerShell (версия 5.1 и нагоре) с командата Get-FileHash:
Get-FileHash -Path c:\Users\JDoe\Desktop\abc.exe -Algorithm SHA512
Може да се създаде запис в регистрите за удобство за работа с certutil. Импортирането на записите ще създаде контекстно меню при натискането на SHIFT и десен бутон на на мишката върху съответният файл за проверка.

Файл: Cаlculating.Hash.Checksums.Cascading.reg

Код: Избери целия код

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\Shell\Calculating.Hash.Checksums.Cascading]
"Extended"=""
"MUIVerb"="Calculate hash checksums"
"SubCommands"="MD2;MD4;MD5;SHA.1;SHA.256;SHA.384;SHA.512;All.Hash"
"Icon"="imageres.dll,262"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD2]
"Icon"="imageres.dll,262"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD2\Command]
@="cmd /s /c pushd &call certUtil -hashfile \"%1\" MD2 > \"%1-Hash (MD2).txt\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD4]
"Icon"="imageres.dll,262"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD4\Command]
@="cmd /s /c pushd &call certUtil -hashfile \"%1\" MD4 > \"%1-Hash (MD4).txt\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD5]
"Icon"="imageres.dll,262"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD5\Command]
@="cmd /s /c pushd &call certUtil -hashfile \"%1\" MD5 > \"%1-Hash (MD5).txt\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.1]
@="SHA-1"
"Icon"="imageres.dll,262"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.1\Command]
@="cmd /s /c pushd &call certUtil -hashfile \"%1\" SHA1 > \"%1-Hash (SHA-1).txt\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.256]
@="SHA-256"
"Icon"="imageres.dll,262"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.256\Command]
@="cmd /s /c pushd &call certUtil -hashfile \"%1\" SHA256 > \"%1-Hash (SHA-256).txt\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.384]
@="SHA-384"
"Icon"="imageres.dll,262"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.384\Command]
@="cmd /s /c pushd &call certUtil -hashfile \"%1\" SHA384 > \"%1-Hash (SHA-384).txt\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.512]
@="SHA-512"
"Icon"="imageres.dll,262"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.512\Command]
@="cmd /s /c pushd &call certUtil -hashfile \"%1\" SHA512 > \"%1-Hash (SHA-512).txt\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\All.Hash]
@="*"
"Icon"="imageres.dll,262"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\All.Hash\Command]
@="cmd /s /c pushd &(call certUtil -hashfile \"%1\" MD2 & certUtil -hashfile \"%1\" MD4 & certUtil -hashfile \"%1\" MD5 & certUtil -hashfile \"%1\" SHA1 & certUtil -hashfile \"%1\" SHA256 & certUtil -hashfile \"%1\" SHA384 & certUtil -hashfile \"%1\" SHA512) > \"%1\"-Hash.txt"
За премахване на всички създадени записи се използва:
Файл: Calculating.Hash.Checksums.Cascading.Remove.reg

Код: Избери целия код

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\*\Shell\Calculating.Hash.Checksums.Cascading]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD2]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD4]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\MD5]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.1]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.256]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.384]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\SHA.512]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\All.Hash]
Съществуват и приложения с графичен интерфейс, за генериране на хеш.

Препоръчвам:

1. HashCheck Безплатен и с отворен код.
Изображение
2. 7-Zip Създава контекстно меню подобно на това, което беше дадено по-горе.
3. HashTab Безплатна и платена версия, подобно на HashChesk.
Публикувай отговор