Добавляем вычисление SHA-1 и MD5 хешей в контекстное меню файлов

в 18:59, , рубрики: md5, sha-1, windows, метки: ,

Доброго времени суток!
Как часто вы проверяете скачиваемые файлы на равенство хеш-сумм? Я — никогда. Но сегодня я почему-то решил порвать с этой порочной практикой и сделать свою жизнь более безопасной.
Согласитесь, основная причина не сравнивать хеш-сумму файла — это лень. Нужно искать какую-нибудь программу, запускать ее, натравливать на файл, и это просто уйма действий. Как можно упростить эту процедуру? Я не придумал ничего лучше, чем добавить в контекстное меню файла опцию «Посчитать хеш». Интересующимся предлагаю краткую инструкцию.

1. Установка программы

Берем отсюда File Checksum Integrity Verifier utility — консольную утилиту для вычисления и сравнения хешей MD5 и SHA-1 от Microsoft. Там же можно прочитать, что это за зверь и с чем его едят. Скачанный файл Windows-KB841290-x86-ENU.exe можно открыть как zip архив и увидеть, что он содержит два файла: собственно fciv.exe и ReadMe.txt, содержащий справку к утилите. Файл ReadMe нас не интересует, а fciv.exe нужно поместить в одну из директорий, прописанных в переменной PATH, дабы вызывать ее из командной строки без указания полного пути. Я поместил в system32. Проверить, что утилита работает, можно, натравив ее из командной строки на любой файл:

fciv -md5 C:test.dat — для вычисления MD5
fciv -sha1 C:test.dat — для вычисления SHA-1

2. Создание элемента контекстного меню

Для расширения контекстного меню файлов нужно будет немного подшаманить в реестре.
Запускаем regedit.exe, идем в HKEY_CLASSES_ROOT* — это раздел, отвечающий за контекстное меню всех типов файлов. В разделе shell создаем подраздел с любым именем (у меня это fciv_md5). В параметре по умолчанию прописываем желаемое название пункта меню (напрмер, Compute MD5). У созданного подраздела (fciv_md5) создаем еще один подраздел с именем command, и у него в параметре по умолчанию прописываем магическую строчку:

cmd.exe /k fciv -md5 "%1"

Строка предписывает запустить cmd.exe с командой fciv -md5 "%1" и отобразить результат.
Для добавления пункта для вычисления SHA-1 проделываем ту же последовательность действий, меняя лишь названия. Команда в этом случае выглядит так:

cmd.exe /k fciv -sha1 "%1"

Должно получиться что-то вроде этого:

Добавляем вычисление SHA 1 и MD5 хешей в контекстное меню файлов

Все вышеперечисленное одним файлом:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT*shellfciv_md5]
@="Compute MD5"

[HKEY_CLASSES_ROOT*shellfciv_md5command]
@="cmd.exe /k fciv -md5 "%1""

[HKEY_CLASSES_ROOT*shellfciv_sha]
@="Compute SHA"

[HKEY_CLASSES_ROOT*shellfciv_shacommand]
@="cmd.exe /k fciv -sha1 "%1""

3. Вычисляем SHA-1 хеш двумя кликами мыши:

Раз:
Добавляем вычисление SHA 1 и MD5 хешей в контекстное меню файлов

Два:
Добавляем вычисление SHA 1 и MD5 хешей в контекстное меню файлов

Всем добра и совпадающих хешей!

Автор: KOSiX

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js