Как узнать хэш файла
Узнать хеш сумму файла стандартными средствами командная строка
Если у вас возникла задача узнать хеш-сумму файла, а устанавливать какие-либо дополнительные программы для этого не хочется, то это можно сделать стандартными средствами с помощью командной строки.
Нам поможет утилита CertUtil по умолчанию входящая в комплект Windows
Чтобы узнать хеш сумму файла необходимо зайти в командную строку: (клавиши Win+R и набираем cmd, либо «Пуск-Все программы-Стандартные-Командная строка«)
и выполнить команду
где, c:file — путь до файла
По умолчанию утилита считает хеш-сумму с помощью SHA1
Если хотите использовать другой, пожалуйста, доступны MD5 MD4 MD2 SHA512 SHA384 SHA256 SHA1
Также можно воспользоваться утилитой FCIV (File Checksum Integrity Verifier utility) эта утилита может не входить по умолчанию в систему. Скачать можно ее с оф.сайта http://support.microsoft.com/ru-ru/kb/841290
Распаковываем и кладем файл fciv.exe для удобства в папку C:windowssystem32
Теперь можно выполнив команду
узнать хеш-сумму файла, по умолчанию MD5, но также доступен SHA1
Из полезных функций хочется отметить возможность проверить автоматом хеш-суммы всех файлов в папке, а также загрузить их в XML-файл для последующей сверки
Считаем хеш-сумму всех файлов в папке
Создаем файл d:hashes.xml, который содержит хеши и пути до файлов всех файлов папки d:Folder
Сверяем хеш суммы файлов по ранее созданному xml файлу
Что такое хеш файла и как его узнать
Каждый файл имеет определенные идентифицирующие свойства: имя, расширение, размер и др. Но ни одно из этих свойств не является уникальным и не позволяет однозначно идентифицировать каждый файл. Например, может существовать несколько однотипных файлов одинакового размера и с одинаковыми именами, отличающихся при этом по содержанию.
Что такое хеш файла
Файлы с одинаковыми хешами всегда являются точными копиями друг друга, даже если у них разные имена и (или) расширения.
Изменение содержания файла автоматически влечет за собой изменение его хеша.
Существует несколько общепринятых алгоритмов (стандартов) расчета хеша. Наиболее часто используются алгоритмы:
Хеши, рассчитанные по разным алгоритмам, будут отличаться. Например, так выглядят разные хеши одного и того же файла:
Практическая ценность хеш-суммы файлов
Хеш часто используется для проверки подлинности или целостности важных файлов.
• большинство разработчиков программного обеспечения рядом со ссылками на загрузку программ размещают на своих сайтах хеши этих файлов. После загрузки программы пользователь может сравнить хеш полученного файла с размещенным на сайте и таким образом проверить, не «потерялась» ли часть информации во время загрузки;
• хеши файлов, размещенные на официальном сайте их разработчиков, позволяют убедиться в подлинности таких файлов в случае их загрузки из альтернативных источников;
• проверка хешей важных системных файлов дает возможность системным администраторам выявлять и устранять изменения, внесенные в компьютер злоумышленниками или вредоносными программами.
Хеш файла имеет много вариантов применения. Выше указана лишь маленькая их часть.
Как узнать хеш файла
Для расчета хеша используют специальные программы. Одной из самых популярных среди них является бесплатная программа Hash Tab. Она добавляет соответствующие функции в меню свойств файлов.
Порядок использования:
• установить программу Hash Tab;
• щелкнуть правой кнопкой мышки по файлу и в появившемся контекстном меню выбрать пункт «Свойства»;
• в открывшемся окне перейти на вкладку «Хеш-суммы файлов» и подождать, пока компьютер рассчитает и отобразит хеши файла.
На этой же вкладке есть ссылка с названием «Настройки», нажав на которую можно выбрать алгоритмы, по которым программа Hash Tab будет рассчитывать хеши.
Операционная система Windows умеет автоматически определять тип каждого файла и открывать его при помощи подходящей программы. Пользователю достаточно лишь дважды щелкнуть по файлу левой кнопкой мышки.
Происходит это потому, что у каждого файла есть расширение, а в настойках операционной системы компьютера заложена некая схема взаимосвязей, в которой каждому расширению файла соответствует определенная программа, которую компьютер использует чтобы открывать такие файлы. Эта схема взаимосвязей типов расширений файлов и программ называется ассоциациями файлов.
Программа, при помощи которой компьютер автоматически открывает файлы определенного типа, называется программой по умолчанию.
Если пользователя не устаивает программа, используемая по умолчанию для какого-то типа файлов, ассоциации файлов можно изменить.
Пользователь компьютера постоянно имеет дело с файлами и папками. Из изложенной ниже статьи начинающие читатели узнают о том, что такое файл, что такое папка, в чем между ними состоит разница и как их на практике различать.
Тем не менее, операционная система Windows позволяет осуществлять групповое переименование настолько же просто, как и в случае с одним файлом. Но почему-то об этой возможности знают далеко не все пользователи.
DjVu — это технология компактного хранения электронных копий документов, созданных с помощью сканера, когда распознавание текста нецелесообразно.
В виде файлов формата djvu хранится огромное количество отсканированных книг, журналов, документов, научных трудов и т.д. Файлы получаются компактными за счет незначительной потери качества изображений. Тем не менее, в них сохраняются фотографии, элементы художественного оформления и другие графические нюансы.
Не смотря на распространённость файлов djvu, у многих начинающих пользователей компьютера возникают трудности с их открытием.
Часто возникают ситуации, когда нужно большой файл разделить на несколько частей с возможностью их дальнейшего соединения.
Например, это может решить проблему с отправкой видео по электронной почте, если используемый почтовый сервис не позволяет пересылать файлы, превышающие определенный размер. Файл можно разрезать на части и переслать его в нескольких письмах.
Примеров, когда разделение файла решает проблему, можно придумать много. Но какой бы ни была ситуация, задачу с «разрезанием» можно решить при помощи обычного архиватора.
Для них это краткое руководство.
ПОКАЗАТЬ ЕЩЕ
6 бесплатных хэш-чекеров для проверки целостности любого файла
6 бесплатных хэш-чекеров для проверки целостности любого файла
Иногда, когда вы загружаете файлы в интернете, вам выдают хэш-файл для проверки целостности файла. Вот шесть инструментов, которые можно использовать для проверки безопасности загружаемого файла.
1. Проверка хэша файлов с помощью PowerShell
Windows поставляется со встроенной функцией проверки хэшей файлов в PowerShell: SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5 и RIPEMD160.
Сначала нажмите клавишу Windows, а затем введите PowerShell. Выберите наиболее подходящий вариант, чтобы открыть PowerShell. Основной командой проверки будет:
Например, «get-filehash c:\test.txt» выдаст:
Выход хэша по умолчанию — SHA256. Если вам нужно другое хэш-значение для файла, воспользуйтесь следующей командой:
Время, необходимое для создания хэша, зависит от размера файла и используемого вами алгоритма.
2. Hash Generator
SecurityExploded’s Hash Generator — это простой в использовании генератор хэшей, который поддерживает широкий спектр алгоритмов хэширования. Бесплатный инструмент для создания хэшей может генерировать хэши для MD5, SHAxxxx, Base64, LM, NTLM, CRC32, ROT13, RIPEMD, ALDER32, HAVAL и других.
Отличной особенностью Hash Generator является то, что его можно использовать в самых разных ситуациях. Хотите хэш для определенного фрагмента текста? Просто скопируйте текст в Hash Generator. Хотите быстро создать хэш-файла в проводнике файлов? Используйте опцию Hash Generator в контекстном меню правой кнопкой мыши.
3. HashMyFiles для Windows (32-bit) | Windows (64-bit)
Nirsoft’s HashMyFiles — это удобный портативный генератор хэшей, который позволяет делать пакетную генерацию хэшей. HashMyFiles может отображать хэши для MD5, SHAxxxx и CRC32.
4. HashTab
HashTab — это другой подход к созданию хэшей файлов. Вместо того чтобы использовать отдельный интерфейс для генерации хэшей файлов, HashTab добавляет вкладку в меню параметров файла.
По умолчанию HashTab генерирует хэши для MD5, CRC32 и SHA1. Настройки HashTab позволяют добавлять более 25 дополнительных хэшей, включая SHA, RIPEMD, TIGER и WHIRLPOOL.
5. QuickHash
QuickHash — это генератор хэшей с открытым исходным кодом для Windows, macOS и Linux. Это также одна из наиболее полнофункциональных систем создания хэшей и проверки их правильности в этом списке.
Хотя количество хэшей, которые вы можете использовать, небольшое, просто MD5, SHA1, SHA256, SHA512, и xxHash64, но Quick Hash имеет массу дополнительных функций.
QuickHash может хэшировать целую папку, сравнивать два отдельных файла, сравнивать целые каталоги или диск целиком. Конечно, последнее занимает значительное количество времени в связи с размерами, но возможность его использования очень приятно видеть.
Скачать: QuickHash для Windows | macOS | Linux (Debian)
6. MultiHasher
MultiHasher представляет пользователям широкий спектр инструментов для генерации и проверки хэшей в одном пакете. Позволяет создавать хэши MD5, SHA1, SHA256, SHA384, SHA512 или RIPEMD-160.
Как проверить целостность файла?
Проверка хэша загруженного файла — это быстрый и простой способ удостовериться, что файл, который вы скачали, безопасен. Если загруженный файл является вирусом или был каким-либо образом подделан, полученный хэш будет отличаться от хэша, который предоставляет вам веб-сайт.
Спасибо, что читаете! Подписывайтесь на мои каналы в Telegram, Яндекс.Мессенджере и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий.
Респект за пост! Спасибо за работу!
Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице.
Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.
Последние
Реклама
telegram
Рубрики
СЧЕТЧИКИ
РЕКЛАМА И ДОНАТЫ
Социальные сети
©2016-2021 Блог Евгения Левашова. Самое интересное и полезное из мира ИТ. Windows 10, Linux, Android и iOS. Обзоры программ и веб-сервисов. Статьи о мотивации и продуктивности.
Использование материалов разрешается с активной ссылкой на levashove.ru.
Данный блог является личным дневником, содержащим частные мнения автора. В соответствии со статьей 29 Конституции РФ, каждый человек может иметь собственную точку зрения относительно его текстового, графического, аудио и видео наполнения, равно как и высказывать ее в любом формате. Блог не имеет лицензии Министерства культуры и массовых коммуникаций РФ и не является СМИ, а, следовательно, автор не гарантирует предоставления достоверной, не предвзятой и осмысленной информации. Сведения, содержащиеся в этом блоге не имеют никакого юридического смысла и не могут быть использованы в процессе судебного разбирательства. Автор блога не несёт ответственности за содержание комментариев к его записям.
Как узнать контрольную сумму файла в Windows
При скачивании ISO образов и архивов больших размеров всегда есть вероятность получить «битый» файл. Во времена Dial-UP такое было сплошь и рядом. И хотя сейчас такое случается намного реже, чтобы убедиться, что перед вами «оригинальный» файл придумали контрольные суммы, которые вычисляются на основе содержимого и позволяют заметить несоответствие даже одного байта.
То есть, если вы измените один байт в проверяемом файле, то и контрольная сумма такого файла так же изменится.
Для чего нужны контрольные суммы
У контрольных сумм две задачи:
Зная контрольную сумму оригинала, можно проверить является ли ваша копия подлинной.
Как вычислить контрольную сумму он-лайн
Контрольную сумму можно проверить он-лайн. Но я не буду рекомендовать этот способ, так как если размер вашего файла несколько ГигаБайт, то это займет много времени и всегда есть вероятность ошибки при передаче файла. Кроме того делиться своими файлами со сторонними сервисами не правильно.
Как узнать контрольную сумму файла в Windows
Разумнее вычислить контрольную сумму локально на своем компьютере. Это быстро и конфиденциально. В этой статье я опишу несколько способов получения контрольных сумм, как с помощью сторонних программ, так и непосредственно с помощью самой операционной системы Виндовс.
Файловый менеджер Total Commander
Total Commander — это популярный файловый менеджер, работающий на платформах Microsoft Windows и Android. В нем есть встроенная функция вычисления контрольных сумм.
После чего вы можете выбрать один из алгоритмом вычисления контрольных сумм.
По-умолчанию Total Commander создает файл с именем проверяемого и с расширением по имени выбранного алгоритма расчета контрольной суммы.
Файловый архиватор 7-Zip
7-Zip — свободный, бесплатный файловый архиватор с высокой степенью сжатия данных. Он поддерживает несколько алгоритмов сжатия и множество форматов данных, включая собственный формат 7z c высокоэффективным алгоритмом сжатия LZMA.
Этот архиватор имеет встроенную функцию вычисления контрольных сумм. Запустить ее можно прямо из контекстного меню Windows:
Если выбрать «звездочку», то программа подсчитает сразу несколько контрольных сумм:
Полученные данные можно выделить и скопировать в текстовый документ.
Как подсчитать контрольную сумму файла из консоли Windows
Чтобы посчитать контрольную сумму совсем не обязательно устанавливать специальные программы. И если вы не пользуетесь упомянутыми выше, то можете рассчитать контрольную сумму прямо из командной строки операционной системы.
Например, чтобы посчитать контрольную сумму SHA1 с помощью утилиты CertUtil нужно запустить командную строку Windows 10, 8 или Windows 7 и ввести следующую команду:
Вот пример ее работы через несколько минут:
Считаем контрольную сумму в PowerShell
PowerShell — это средство автоматизации от Microsoft, с интерфейсом командной строки и языка сценариев, работает и включена в состав Windows 8 и новее.
Чтобы вычислить контрольную сумму файла необходимо выполнить команду Get-FileHash указав через пробел имя файла и алгоритм вычисления контрольной суммы:
Обратите внимание, что полный путь и имя файла лучше заключить в двойные кавычки.
По-умолчанию, если не указать тип контрольной суммы, то будет посчитана SHA-256.
Для алгоритмов вычисления контрольной суммы в Windows PowerShell поддерживаются следующие значения:
Для оформления вывода в виде списка можно использовать параметр | Format-List. Например:
Тогда результат работы будет выглядеть так:
Подробнее об использовании команды Get-FileHash можно прочитать на официальном сайте Microsoft — https://docs.microsoft.com/ru-ru/powershell/module/microsoft.powershell.utility/get-filehash
Какой алгоритм вычисления контрольных сумм самый правильный
MD5, SHA-1, SHA-256 и прочие – это разные алгоритмы хеш-функции. Хэши являются результатом работы криптографических алгоритмов, и представляют собой строку символов. Часто эти строки имеют фиксированную длину, независимо от размера входных данных.
MD5 самый быстрый, считается устаревшим, а SHA-256 имеет наименьшую вероятность коллизии, когда два разных файла имеют одинаковую контрольную сумму.
Для проверки целостности файла вам следует использовать тот, который предоставляет издатель. Если у вас на выбор есть несколько контрольных сумм, то лучше выбрать в следующей последовательности MD5, SHA-1, SHA-256, последний вариант является более предпочтительным.
Выводы
Если вы сомневаетесь в целостности скаченных файлов из интернета, особенно когда это касается оригинальных образов операционных систем, то проверьте их контрольную сумму. Сделать это можно как с помощью уже имеющихся у вас программ, так и воспользовавшись встроенными средствами операционной системы Windows.
Что такое хэш и хэш-функция: практическое применение, обзор популярных алгоритмов
Во время копирования информации или передачи ее по сети не гарантируется ее целостность, что особенно актуально для больших объемов информации. Представьте себе, что вы скачивали из интернета установочный файл размером 900 мегабайт, как убедиться, что он загрузился полностью и без ошибок. Ведь если в нем есть ошибки, то программа может просто не установиться или во время ее работы будут возникать сбои.
Конечно можно сравнить размер полученного файла с исходным, но этого не достаточно, чтобы утверждать об идентичности двух файлов. Поэтому были разработаны специальные алгоритмы позволяющие решить эту задачу.
Мы не будем углубляться в техническую реализацию, достаточно знать, что применяя определенный алгоритм высчитывает некое значение однозначно описывающее данный файл. Оно всегда одинаковое для одних и тех же данных и называется контрольной суммой или хешем. Хотя самих алгоритмов хеширования существует множество, вот некоторые из наиболее часто встречающихся: MD5, CRC32, SHA-1, SHA256, BTIH.
Поэтому очень часто на странице загрузки указаны хеши оригинальных файлов, чтобы пользователи могли выполнить проверку после скачивания. Таким образом зная контрольную сумму оригинального файла рассчитанную по какому-либо алгоритму, мы можем проверить идентичность его копии, рассчитав для нее соответствующий хеш и сравнив с оригинальным, если они не совпадут, значит в данных есть разница. Это можно использовать не только для проверки целостности данных загруженных из интернета, но и для сравнения двух файлов в компьютере или, например для проверки корректности записи данных на DVD-диск. Узнав о необходимости выполнить проверку, начинающие пользователи компьютера часто не знают, как проверить хеш файлов, хотя это делается очень просто. В разных операционных системах данная операция выполняется по-разному.
Для чего нужно проверять файлы на подлинность
Для того, чтобы предоставить пользователю возможность убедиться в подлинности файла, образа или программы, производители рядом со ссылками для скачивания файла приводят его хеш-суммы.
Вы наверняка встречали, когда скачивали файлы из интернета, что после характеристик и системных требований, часто есть пункт с контрольными суммами файла примерно такого вида.
Хеш — это определенный код соответствующий определенной данной единицы информации, уникальный просчитанный математически образ конкретного файла. При малейшем изменении файла сразу изменяется и хэш-сумма этого файла. С помощью такой проверки обеспечивается защита конкретного файла от изменения.
Контрольные суммы необходимо проверять, если вы скачиваете файлы не с официального сайта разработчика или другие важные файлы, например образ операционной системы. Сравнивая контрольные суммы образа или файла, вы сразу можете узнать был модифицирован этот файл или нет.
Если есть ошибка контрольной суммы, контрольная сумма не соответствует требуемой, то это значит, что файл был изменен (возможно, в него был внедрен вирус, или произведены какие-то другие действия).
Для проверки контрольной суммы (хэша) можно использовать бесплатную программу HashTab.
Алгоритмы для проверки
Алгоритм MD5 используется не только для того, чтобы проверять целостность данных, но и дает возможность получить достаточно надежный идентификатор, который часто используется в тех случаях, когда на компьютере отыскиваются одинаковые файлы. Таким образом, происходит сравнение не содержимого, а их хеш-сумм.
Алгоритм CRC32 применяется в работе архивирующих программ. Расшифровывается он как «циклический избыточный код».
Алгоритм SHA-1 нашел применение при проверке целостности данных, которые загружаются при помощи программы BitTorrent.
Как пользоваться HashTab
При установке программа HashTab интегрируется в окно свойств Проводника. После установки программы HashTab на ваш компьютер, вы можете проверять хэш-суммы файлов. Для этого кликните по какому-нибудь файлу правой кнопкой мыши.
В контекстном меню выберите пункт «Свойства». После открытия окна, в окне «Свойства» вы увидите новую вкладку «Хеш-суммы файлов».
При нажатии на вкладку «Хеш-суммы файлов» появляется окно со значениями контрольных сумм этого файла.
После нажатия на ссылку «Настройки», откроется окно настроек программы HashTab, где во кладке «Отображаемые хеш-суммы» можно выбрать соответствующие пункты алгоритмов проверки.
Для проверки файлов будет достаточно выбрать главные алгоритмы проверки: CRC32, MD5, SHA-1. После выбора алгоритмов проверки нажимаете на кнопку «OK».
Для сравнения хеш-сумм файлов нужно будет перетянуть файл в поле «Сравнение хеша». Если значения хэша файлов совпадают, то появится зеленый флажок.
Также можно проверить хеш другим способом. Для этого, нажимаете на кнопку «Сравнить файл…», а затем выбираете в окне Проводника файл для сравнения.
После этого нажимаете на кнопку «Открыть», а потом в открывшемся окне, вы увидите полученный результат сравнения контрольной суммы файла.
Вам также может быть интересно:
Кликнув правой кнопкой мыши по соответствующей контрольной сумме, вы можете скопировать эту сумму или все контрольные суммы, а также перейти к настройкам программы, если выберете в контекстном меню соответствующий пункт.
Можно также одновременно проверить два файла поодиночке и сравнить результат в двух окнах. На этом изображении видно, что контрольные суммы двух файлов совпадают.
Что такое хеш-суммы и для чего они нужны
Хеш – это результат работы криптографических алгоритмов, разработанных для создания набора цифр и букв. Его еще называют «цифровым отпечатком». Обычно эти наборы имеют фиксированную длину и количество знаков, вне зависимости от размера входной информации. К примеру, у “WP” и “WP-SEVEN” будут хеш-суммы абсолютно одинакового размера. Длина суммы зависит только от того, какой алгоритм хеширования вы проверяете. К примеру, SHA1 выдаст сумму размером 40 знаков, а MD5 только 32.
Кроме того, обратите внимание, что, несмотря на минимальное различие между “WP-SEVEN” и “WP-SEVEM”, хеш-суммы полностью разные и не имеют ничего общего. Это значит, что, даже если кто-то изменит файл хоть на 1 бит (грубо говоря), конечный результат получит совершенно другую хеш-сумму. Это и делает хеш удобным способом проверки подлинности файла. Издатель указывает оригинальную сумму, а пользователь проверяет полученный результат и сравнивает его с оригиналом.
Хеширование осуществляется при помощи различных стандартов. Зачастую это MD5, SHA-1 и SHA-256. Все три алгоритма работают по-разному, но концепция у них одинакова. Мы не будем здесь внедряться в принцип работы каждого алгоритма, поскольку это весьма сложная информация, а только приведем общие сведения, необходимые для обычного пользователя.
Как узнать хэш (контрольную сумму) файла в Windows PowerShell
Хэш или контрольная сумма файла — короткое уникальное значение, вычисляемое из содержимого файла и обычно использующееся для проверки целостности и соответствия (совпадения) файлов при загрузке, особенно если речь идет о больших файлах (образы системы и подобные), которые могут быть скачены с ошибками или есть подозрения о том, что файл был подменен вредоносным ПО.
На сайтах загрузок часто бывает представлена контрольная сумма, вычисленная по алгоритмам MD5, SHA256 и другим, позволяющая сверить загруженный файл с файлом, выложенным разработчиком. Для вычисления контрольных сумм файлов можно использовать сторонние программы, но есть способ сделать это и стандартными средствами Windows 10, 8 и Windows 7 (требуется версия PowerShell 4.0 и выше) — с помощью PowerShell или командной строки, что и будет продемонстрировано в инструкции.
Немного истории
Матчасть
Итак, коллизией хэш-функции F называются два различных входных блока данных — x и y — таких, что F(x) = F(y). Рассмотрим в качестве примера хэш-функцию F(x) = x|19|, определенную на множестве целых чисел. Ее ОДЗ (из школьного курса математики ты должен знать, что это такое) состоит из 19 элементов (кольца вычетов по модулю 19), а область определения стремится к бесконечности. Так как множество прообразов заведомо больше множества значений, коллизии обязательно существуют. Что это значит? Давай построим коллизию для этой хэш-функции, используя входное значение 38, хэш-сумма которого равна нулю. Так как функция F(x) периодическая с периодом 19, то для любого входного значения y значение y+19 будет иметь ту же хэш-сумму, что и y. В частности, для входного значения 38 той же хэш-суммой будут обладать входные значения 57, 76 и так далее. Таким образом, пары входных значений (38,57), (38,76) образуют коллизии для хэш-функции F(x).
Чтобы хэш-функция F считалась криптографически стойкой, она должна удовлетворять трем основным требованиям, на которых основано большинство применений хэш-функций в криптографии.
Проверка подлинности сертификата на VeriSign
Существует большое количество алгоритмов хэширования с различными характеристиками (разрядность, вычислительная сложность, криптостойкость и так далее). Простейшим примером хэш-функций может служить CRC, который не является алгоритмом хэш-функции, а представляет из себя алгоритм вычисления контрольной суммы. По скорости вычисления он в десятки и сотни раз быстрее, чем криптографические хэш-функции, а также значительно проще в аппаратной реализации. Однако платой за высокую скорость является возможность легко подогнать большое количество сообщений под заранее известную сумму. Так разрядность контрольных сумм (типичное число — 32 бита) ниже, чем у криптографических хэшей (типичные числа: 128, 160 и 256 бит), что означает возможность возникновения непреднамеренных коллизий. В качестве примера можно привести следующий код на C, демонстрирующий получение трех CRC-коллизий на 100 000 итераций:
#include #include #include #define INTERATION 100000 int main() < int count =0; int i,j; unsigned hash; char c; unsigned* table; table = calloc(INTERATION,sizeof(unsigned)); for(i = 0; i j;j++)< c = 33 + (char) (63.0*rand()/(RAND_MAX+1.0)); hash = (hash * 33) + c; >hash = hash + (hash >> 5); for(j=0; i > j ;j++) < if (table[j] == hash) count++; >table
=hash; > free(table); printf(«%d values %d collisions\n»,INTERATION, count); return 0; >
Среди множества существующих хэш-функций принято особенно выделять криптографически стойкие, — они применяются в криптографии. К примеру, существуют два наиболее часто встречающихся в повседневной жизни алгоритма: MD4 и MD5. В плане безопасности MD5 является более надежным, чем его предшественник MD4. В новый алгоритм разработчики добавили еще один раунд — теперь вместо трех их стало четыре. Также была добавлена новая константа, чтобы свести к минимуму влияние входного сообщения. В каждом раунде на каждом шаге константа всегда разная, она суммируется с результатом F и блоком данных. Изменилась функция G = XZ v (Y not(Z)) (вместо XY v XZ v YZ). Результат каждого шага складывается с результатом предыдущего, из-за этого происходит более быстрое изменение результата. Изменился порядок работы с входными словами в раундах 2 и 3. Даже небольшое изменение входного сообщения (в нашем случае на один бит: ASCII символ «5» с кодом 0x3516 = 0001101012 заменяется на символ «4» с кодом 0x3416 = 0001101002) приводит к полному изменению хэша. Такое свойство алгоритма называется лавинным эффектом. Вот так выглядит пример 128-битного (16-байтного) MD5-хэша:
Кстати, если говорить конкретно о коллизиях в алгоритме MD5, то здесь мы можем получить одинаковые значения функции (F) для разных сообщений и идентичного начального буфера. Так, например, для известного сообщения можно построить второе — такое, что оно будет иметь такой же хэш, как и исходное. C точки зрения математики это означает следующее: MD5(IV,L1) = MD5(IV,L2), где IV — начальное значение буфера, а L1 и L2 — различные сообщения. Например, если взять начальное значение буфера
A = 0x12AC2375 В = 0x3B341042 C = 0x5F62B97C D = 0x4BA763ED
и задать входное сообщение
AA1DDABE D97ABFF5 BBF0E1C1 32774244 1006363E 7218209D E01C136D 9DA64D0E 98A1FB19 1FAE44B0 236BB992 6B7A779B 1326ED65 D93E0972 D458C868 6B72746A
то добавляя число 2^9 к определенному 32-разрядному слову в блочном буфере, можно получить второе сообщение с таким же хэшем. Есть несколько программ, которые помогут тебе все это дело провернуть (обрати внимание на ссылки в боковом выносе).
Получение хэша файла в командной строке с помощью CertUtil
В Windows присутствует встроенная утилита CertUtil для работы с сертификатами, которая, помимо прочего, умеет высчитывать контрольную сумму файлов по алгоритмам:
Для использования утилиты достаточно запустить командную строку Windows 10, 8 или Windows 7 и ввести команду в формате:
Пример получения хэша MD5 для файла показан на скриншоте ниже.
Дополнительно: на случай, если вам требуются сторонние программы для вычисления хэшей файлов в Windows, можно обратить внимание на SlavaSoft HashCalc.
Если же требуется вычислить контрольную сумму в Windows XP или в Windows 7 без PowerShell 4 (и возможности его установить), вы можете использовать утилиту командной строки Microsoft File Checksum Integrity Verifier, доступную для загрузки на официальном сайте https://www.microsoft.com/en-us/download/details.aspx? >
А вдруг и это будет интересно:
Почему бы не подписаться?
Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)
Здравствуйте. На Windows 10 в контекстном меню проводника CRC SHA можно вычислить SHA-1, SHA-256.
Здравствуйте. Подозреваю, это что-то установленное вами добавило такой пункт, по умолчанию нет (в настройках тоже подобного не нашел)
Да Вы правы. Проверил, оказывается пункт CRS SHA принадлежит архиватору 7-Zip.
Спасибо очень полезная статья.
еще проще узнать хэш сумму сторонней программой, совершенно бесплатной HashTab.
Примечание: после отправки комментария он не появляется на странице сразу. Всё в порядке — ваше сообщение получено. Ответы на комментарии и их публикация выполняются ежедневно днём, иногда чаще. Возвращайтесь.
Методы получения профита
Перед тем как начать практическую часть, мы должны добить теорию. Дело в том, что так называемые коллизии мы можем использовать в качестве ключа/пароля для аутентификации в различном ПО и на веб-ресурсах. Это значит, что даже без знания пароля, имея на руках только лишь его хэш, мы можем сгенерировать правдоподобный пассворд с помощью коллизии, причем за вполне приемлемое время. Однако на данный момент существуют и повсеместно используются лишь несколько видов «взлома» хэшей MD4/5, то есть подбора сообщения с заданным хэшем.
Для полного перебора или перебора по словарю можно использовать, к примеру, следующие программы: PasswordsPro, MD5BFCPF, John the Ripper. Теперь же я предлагаю тебе познакомиться с новым методом атаки на хэши — методом коллизий.
Коллизия в действии
Как появилось понятие хэш?
Сделаем небольшую паузу, чтобы интеллект окончательно не поплыл от потока сложных для простых пользователей терминов и информации. Расскажем об истории появления термина «хэш». А для простоты понимания выложим «инфу» в табличной форме.
Дата (год) | Хронология событий |
1953 | Известный математик и программист Дональд Кнут авторитетно считает, что именно в этот промежуток времени сотрудник IBM Ханс Питер Лун впервые предложил идею хеширования. |
1956 | Арнольд Думи явил миру такой принцип хеширования, какой знают его подавляющее большинство современных программистов. Именно эта «светлая голова» предложила считать хэш-кодом остаток деления на любое простое число. Кроме этого, исследователь видел идеальное хеширование инструментов для позитивной реализации «Проблемы словаря». |
1957 | Статья Уэсли Питерсона, опубликованная в «Journal of Research and Development», впервые серьезно затронула поиск информации в больших файлах, определив открытую адресацию и ухудшение производительности при ликвидации. |
1963 | Опубликован труд Вернера Бухгольца, где было представлено доскональное исследование хэш-функции. |
1967 | В труде «Принципы цифровых вычислительных систем» авторства Херберта Хеллермана впервые упомянута современная модель хеширования. |
1968 | Внушительный обзор Роберта Морриса, опубликованный в «Communications of the ACM», считается точкой отсчета появления в научном мире понятия хеширования и термина «хэш». |
Интересно! Еще в 1956 году советский программист Андрей Ершов называл процесс хеширования расстановкой, а коллизии хэш-функций – конфликтом. К сожалению, ни один из этих терминов не прижился.
Проверка хешей в Linux
Здесь так же можно воспользоваться консолью. В случае алгоритма MD5 достаточно выполнив команду.
Для хеш-сумм по алгоритму SHA-1 команда выглядит немного иначе.
В случае необходимости рассчитать циклическую контрольную сумму (CRC) используется команда
Кто не хочет связываться с консолью, может поставить программу Gtkhash с графическим интерфейсом и проверять целостность файлов в ней. Для установки программы выполнить в консоли:
Напоследок расскажем о том, как можно убедиться, что скачанный с торрента или доставшейся из другого ненадежного источника дистрибутив Windows оригинальный и его не изменял кто-либо. Для этого идем на сайт Майкрософт где подписчики MSDN могут скачивать ее продукты. Находим нужный нам образ, обращая внимание на версию, дату, разрядность и язык. Когда нужный продукт будет найден, нажимаем на «Сведения» рядом с ним.
В нижней части раскрывшейся области будет указана хеш сумма рассчитанная по алгоритму SHA1. Не смотрите на название вашего файла, его могли переименовать, главное это содержимое. Кроме того не стоит тратить время на проверки контрольных сумм образа, если это сборка, репак и подобное народное творчество, а не образ MSDN.
Контрольные суммы файла
Во время копирования информации или передачи ее по сети не гарантируется ее целостность, что особенно актуально для больших объемов информации. Представьте себе, что вы скачивали из интернета установочный файл размером 900 мегабайт, как убедиться, что он загрузился полностью и без ошибок. Ведь если в нем есть ошибки, то программа может просто не установиться или во время ее работы будут возникать сбои.
Конечно можно сравнить размер полученного файла с исходным, но этого не достаточно, чтобы утверждать об идентичности двух файлов. Поэтому были разработаны специальные алгоритмы позволяющие решить эту задачу.
Мы не будем углубляться в техническую реализацию, достаточно знать, что применяя определенный алгоритм высчитывает некое значение однозначно описывающее данный файл. Оно всегда одинаковое для одних и тех же данных и называется контрольной суммой или хешем. Хотя самих алгоритмов хеширования существует множество, вот некоторые из наиболее часто встречающихся: MD5, CRC32, SHA-1, SHA256, BTIH.
Поэтому очень часто на странице загрузки указаны хеши оригинальных файлов, чтобы пользователи могли выполнить проверку после скачивания. Таким образом зная контрольную сумму оригинального файла рассчитанную по какому-либо алгоритму, мы можем проверить идентичность его копии, рассчитав для нее соответствующий хеш и сравнив с оригинальным, если они не совпадут, значит в данных есть разница. Это можно использовать не только для проверки целостности данных загруженных из интернета, но и для сравнения двух файлов в компьютере или, например для проверки корректности записи данных на Узнав о необходимости выполнить проверку, начинающие пользователи компьютера часто не знают, как проверить хеш файлов, хотя это делается очень просто. В разных операционных системах данная операция выполняется по-разному.
Вывод
Итак, было рассмотрено понятие «контрольной суммы». Стало ясно, для чего она используется. Для рядового пользователя это легкий вариант для того, чтобы проверить файл на целостность и соответствие оригиналу. Были описаны полезные утилиты для вычисления и сравнения хеш-сумм. Первая способна сравнивать различные суммы, а вторая только по одному алгоритму, но зато не требует инсталляции, что актуально при отсутствии прав администратора.
Если собираетесь установить операционную систему либо любой другой программный продукт, рекомендуется обязательно проверять хеш-суммы после загрузки всех установочных файлов. Это сэкономит много времени и, что важнее, нервов.
Зачастую раздобыть заветные хеши — это далеко не все, что нужно сделать перед тем, как начинать брут. Иногда еще бывает полезно понять, а что, собственно, будем брутить, определить хеш или другими словами, узнать, что за хеш попался при проведения пентеста.
Использовать данный сервис очень просто:
Сервис умеет определять свыше 250 типов хешей.
Получение контрольной суммы файла средствами Windows
Для начала потребуется запустить Windows PowerShell: проще всего использовать поиск в панели задач Windows 10 или меню Пуск Windows 7 для этого.
Команда, позволяющая вычислить хэш для файла в PowerShell — Get-FileHash, а чтобы использовать ее для вычисления контрольной суммы достаточно ввести ее со следующими параметрами (в примере вычисляется хэш для образа ISO Windows 10 из папки VM на диске C):
При этом поддерживаются следующие значение для алгоритмов вычисления контрольной суммы в Windows PowerShell
Подробное описание синтаксиса команды Get-FileHash доступно также на официальном сайте https://technet.microsoft.com/en-us/library/dn520872(v=wps.650).aspx
Программа HashTab: проверка хеш-суммы
Данная утилита является плагином, который интегрируется в операционную систему и используется в моменты надобности. Ее можно загрузить с официального сайта совершенно бесплатно в виде установочного файла. Инсталляция программы интуитивно понятна.
После установки в свойствах каждого файла будет присутствовать новая дополнительная вкладка для вычисления контрольной суммы. По умолчанию они будут вычисляться по тем самым трем алгоритмам, описанным выше.
Как проверить хеш-суммы? Для этого в поле «Сравнение» нужно вставить сумму, которая указана автором. Если скачанный файл успешно прошел проверку на подлинность, появится зеленая галочка. В противном же случае пользователь увидит красный крестик. В таком случае рекомендуется скачать файл заново.
Настройки на вкладке «Хеш-суммы файлов» можно поменять, если нажать на соответствующий пункт. Откроется окно параметров, где есть возможность выставить отображение нужных контрольных сумм для проверки и вычисления. Для того чтобы все было наглядным, рекомендуется отметить галочкой чекбокс, позволяющий показывать контрольные суммы строчными символами.
Таким образом, работать с данной программой очень просто. С ней сможет разобраться даже малоопытный пользователь.