Как узнать хэш (контрольную сумму) файла в Windows PowerShell. Хеш файла


Что такое хеш файла и как его узнать

Каждый файл имеет определенные идентифицирующие свойства: имя, расширение, размер и др. Но ни одно из этих свойств не является уникальным и не позволяет однозначно идентифицировать каждый файл. Например, может существовать несколько однотипных файлов одинакового размера и с одинаковыми именами, отличающихся при этом по содержанию. Проблему уникальной идентификации решает так называемая хеш-сумма файла (в разговорной речи - просто хеш).

Что такое хеш файла

Хеш файла (хеш-сумма файла) - это уникальный идентификатор файла, который при помощи специального программного обеспечения высчитывается компьютером путем определенных математических преобразований информации, содержащейся в нем. Файлы с одинаковыми хешами всегда являются точными копиями друг друга, даже если у них разные имена и (или) расширения. Изменение содержания файла автоматически влечет за собой изменение его хеша. Существует несколько общепринятых алгоритмов (стандартов) расчета хеша. Наиболее часто используются алгоритмы: • SHA-1; • MD5; • CRC. Хеши, рассчитанные по разным алгоритмам, будут отличаться. Например, так выглядят разные хеши одного и того же файла: • CRC: 02888A09 • MD5: 00EF4D6ADBC7ED3A1368122DDE85B2DB • SHA-1: F777CE63EDC87B77BF3B2C0945DFEB9AA63E9B4C

Практическая ценность хеш-суммы файлов

Хеш часто используется для проверки подлинности или целостности важных файлов. Например: • большинство разработчиков программного обеспечения рядом со ссылками на загрузку программ размещают на своих сайтах хеши этих файлов. После загрузки программы пользователь может сравнить хеш полученного файла с размещенным на сайте и таким образом проверить, не "потерялась" ли часть информации во время загрузки; • хеши файлов, размещенные на официальном сайте их разработчиков, позволяют убедиться в подлинности таких файлов в случае их загрузки из альтернативных источников; • хеш положен в основу работы большинства программ, предназначенных для поиска на компьютере файлов - дубликатов; • проверка хешей важных системных файлов дает возможность системным администраторам выявлять и устранять изменения, внесенные в компьютер злоумышленниками или вредоносными программами. Хеш файла имеет много вариантов применения. Выше указана лишь маленькая их часть.

Как узнать хеш файла

Для расчета хеша используют специальные программы. Одной из самых популярных среди них является бесплатная программа Hash Tab. Она добавляет соответствующие функции в меню свойств файлов. • HashTab:

⇒ Подробнее о программе | скачать >>>

Порядок использования:

• установить программу Hash Tab; • щелкнуть правой кнопкой мышки по файлу и в появившемся контекстном меню выбрать пункт «Свойства»; • в открывшемся окне перейти на вкладку «Хеш-суммы файлов» и подождать, пока компьютер рассчитает и отобразит хеши файла.

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

www.chaynikam.info

Узнать хеш сумму файла стандартными средствами командная строка

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

Нам поможет утилита CertUtil по умолчанию входящая в комплект Windows

Чтобы узнать хеш сумму файла необходимо зайти в командную строку: (клавиши Win+R и набираем cmd, либо «Пуск-Все программы-Стандартные-Командная строка«)

и выполнить команду

certutil -hashfile c:file

где, c:file — путь до файла

По умолчанию утилита считает хеш-сумму с помощью SHA1

Если хотите использовать другой, пожалуйста, доступны MD5 MD4 MD2 SHA512 SHA384 SHA256 SHA1

Например:

Certutil -hashfile c:file MD5

 

 

Также можно воспользоваться утилитой FCIV (File Checksum Integrity Verifier utility) эта утилита может не входить по умолчанию в систему. Скачать можно ее с оф.сайта http://support.microsoft.com/ru-ru/kb/841290

Распаковываем и кладем файл fciv.exe для удобства в папку C:windowssystem32

Теперь можно выполнив команду

fciv c:file

узнать хеш-сумму файла, по умолчанию MD5, но также доступен SHA1

fciv -sha1 c:file

 

Из полезных функций хочется отметить возможность проверить автоматом хеш-суммы всех файлов в папке, а также загрузить их в XML-файл для последующей сверки

Считаем хеш-сумму всех файлов в папке

fciv c:folder

Создаем файл d:hashes.xml, который содержит хеши и пути до файлов всех файлов папки d:Folder

fciv -add d:Folder -r -xml d:hashes.xml

Сверяем хеш суммы файлов по ранее созданному xml файлу

fciv -v -xml d:hashes.xml

 

 

itfound.ru

Как узнать Хеш файла, как сравнить Хеш и зачем?

Вы не когда не задумывались, зачем указывают такую информацию, как «Хеш-сумма»? Очень часто можно встретить на торрентах. С одной стороны, какая-то не понятная информация, но с другой стороны, очень полезная. Почему? Постараюсь подробно рассказать, как узнать хеш файла, как его сравнить и почему это так полезно.

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

Зачем нужно знать Хеш- сумму файла?

Допустим, Вы решили скачать с торрента образ какой-то игры и весело провести время. Вот Вы нашли интересную игру, прочитали описание и обнаружили, что в описании к файлу указана «Хеш-Сумма» образа.

Дело в том, что человек, который выложил игру, он сначала проверял её на работоспособность на своём компьютере, может даже и на нескольких ПК и на разных системах.

Как только он убедился, что все отлично устанавливается и работает, он узнал «Хеш-Сумму» образа и указал её в описании к игре. У незнающих людей напрашивается вопрос, зачем он указала хеш -сумму образа?

Если говорить грубо, то: Хеш-сумма – это уникальный «Ключ» файла, который можно использовать для проверки файла, то есть, его целостности.

Если сказать ещё проще: То, хеш позволит нам сравнить два файла, тот файл, который был выложен для загрузки, с тем файлом, который был загружен на наш компьютер.

И зачем мне его сравнить? Допустим, Вы скачали образ и естественно принялись за установку игры. Но в процессе установки начали появляться какие-то ошибки, что-то идёт не так. Все признаки того, что игра не установится, так как это нужно, либо установилась, но не запускается.

В общем, существую подобные проблемы…

Конечно, можно обвинить во всех бедах то место, откуда качали файл. Мол, файл не качественный выложили, не чего не запускается, не чего не работает.

Но это может быть не так.С системой все в порядке и с источником, откуда качался файл то же все в порядке.

Все на самом деле куда проще чем, кажется. В процессе загрузки файла, могли произойти какие-то ошибки, либо файл не докачался до конца, в общем одним словом, файл загрузился на компьютер не полноценным по каким-то причинам.

Вот, отсюда все беды!

Идём на сайт, откуда качали файл, берём там хеш -сумму, после чего узнаём хеш скаченного файла и сравниваем их.

1) Если Хеш-Сумма оказывается разной, то соответственно загруженный файл 100% отличается от того, файла, который выложен на сайте. А это значит, загруженный файл работать не будет. Придётся скачать его заново.

2) Если Хеш-Суммы одинаковые, то в этом случаи была загружена точная копия файла, и она будет работать должным образом. Можно смело приступать к установке.

ВАЖНО! Если Вы качаете образы Windows то, после загрузки настоятельно рекомендую узнать хеш -сумму и сравнить её, если суммы не совпадут, то лучше раз 100 подумать, стоит ли ставить windowsс подобного образа.

Иначе можно получить немало проблем в момент установки системы.

В общем и целом, думаю все понятно, если есть вопросы, то смело задавайте! Хорошо, разобрались, зачем нам нужна хеш -сумма файла, который собираемся качать. Теперь давайте узнаем, как сравнить хеш -сумму, что бы выяснить, полностью загрузился файл или нет.

Как узнать и сравнить Хеш-Сумму файла.

Для этого дела имеется специальные программы и, как правило, они легки в использовании. Все что нужно сделать – это выбрать нужный файл, что бы получить его хеш сумму и сравнить его с тем, который был указан на сайте. Все просто!

Одну из таких программ хочу представить в этом посте. Программа, так скажем «Собственного производства» Сижу я вчера за ноутбуком, и понимаю, что я вроде как соскучился по «Кодингу» и решил, что на одну программу по сравнению Хеш-Сумм будет больше.

Интерфейс программы получился вот таким. Кнопки получились без надписей, но, к каждой кнопке есть подсказки, для чего она нужна. Они появляются в нижней части программы в момент наведения курсора на кнопку.

1 – Эта кнопка откроет диалоговое окно для выбора файлы.2 – Эта кнопка нужна, если нужно удалить содержимое полей.3 – Эта кнопка откроет блог winkomp.ru.4 – Эта кнопка закроет программу.5 – Эта кнопка нужна, если Вам нужно скопировать Хеш-Сумму в буфер.6 – Эта кнопка наоборот, вставить Хеш-Сумму, для сравнения.

Что бы сравнить хеш -суммы, нажимаем кнопку «1» и выбираем файл, который был скачан. Программа определит его хеш -сумму в кодировке md5, и он появится в поле «Полученный Хеш».

Теперь в поле «Сравнить с:» вставьте хеш -сумму указанную в описании к скачанному файлу. Нажмите кнопку «Сравнить» и программа покажет результат и появится такое окно:

— Хеш-Суммы равны:

— Хеш-Суммы не равны:

Не чего сложного нет! Рекомендую держать программу в своём арсенале, или любую другую подобную этой. Как я уже говорил выше, если качаете образы операционных систем, то всегда сравнивайте Хеш-Суммы.

И ещё один важный момент по поводу моей программы. Если будите ей пользоваться, то при получении хеш -суммы файла с большим размером, программу будет ненадолго зависать, система будет предлагать завершить программу…

На самом деле программа работает и в скором времени она покажет хеш сумму файла. А зависает программа, так как нужно немного её доработать, а именно добавить «дополнительный поток». В общем, не обращайте внимания на то, что программа «Не отвечает» это мои погрешности, она все ровно работает!

Как меняется Хеш-Сумма файла? (Для понимания)

Предлагаю посмотреть на реальном примере, как может измениться Хеш-Сумма у файла. Для примера возьмем обычный текстовой документ.

Создадим файл «test.txt» и запишем в него любую строку, например из трёх символов «123». Теперь сохраним файл и посмотрим его размер, он составит всего «3 байта».

Так как один символ весит всего  1 байт и не важно, что это, символ или пробел.

Впрочем, это не особо важно. Важно то, что мы в данном случае имеем возможность удалить 1 байт из файла, или наоборот, добавить несколько байтов в файл. Текстовой документ (TXT) прекрасно подходит для данного примера.

И так, сохраняем файл со строкой «123» и смотрим его Хеш-Сумму. У меня она получилась такого значения.

MD5: 202CB962AC59075B964B07152D234B70

Хорошо! Сохраняем полученную «Хеш-Сумму» Куда-нибудь в другое место. Теперь снова открываем файл «test.txt» и дописываем к строке ещё один символ, и в итоге получится такая строка «1234». Сохраняем этот файл и снова узнаем его «Хеш-Сумму». Вот что получилось.

MD5: 81DC9BDB52D04DC20036DBD8313ED055

Тут без всяких программ видно, то, что «Хеш-суммы» совершенно разные. Как видим «Хеш» изменился. Это произошло из-за добавления ещё одного байта в файл.

Вот таким примером хорошо видно, как меняется хеш у файла.

Это все к тому, что, если Вы качаете образ «Windows» и в процессе загрузки произойдёт ошибка, вследствие которой потеряется хоть один байт, то у вас могут возникнуть проблемы при установке Windows.

Спасибо за внимание, на этом у меня все, всем добра и удачи!

Скачать программу.

winkomp.ru

HashTab для проверки контрольной суммы (хеша) файла

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

Программа является расширением для Проводника Windows. HashTab позволит определить контрольную сумму (хеш или хэш) файла для проверки подлинности и целостности проверяемого  файла.

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

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

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

Хеш — это определенный код соответствующий определенной данной единицы информации, уникальный просчитанный математически образ конкретного файла. При малейшем изменении файла сразу изменяется и хэш-сумма этого файла. С помощью такой проверки обеспечивается защита конкретного файла от изменения.

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

Если есть ошибка контрольной суммы, контрольная сумма не соответствует требуемой, то это значит, что файл был изменен (возможно, в него был внедрен вирус, или произведены какие-то другие действия).

Для проверки контрольной суммы (хэша) можно использовать бесплатную программу HashTab.

hashtab скачать

Как пользоваться HashTab

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

В контекстном меню выберите пункт «Свойства». После открытия окна, в окне «Свойства» вы увидите новую вкладку «Хеш-суммы файлов».

При нажатии на вкладку «Хеш-суммы файлов» появляется окно со значениями контрольных сумм этого файла.

После нажатия на ссылку «Настройки», откроется окно настроек программы HashTab, где во кладке «Отображаемые хеш-суммы» можно выбрать соответствующие пункты алгоритмов проверки.

Для проверки файлов будет достаточно выбрать главные алгоритмы проверки: CRC32, MD5, SHA-1. После выбора алгоритмов проверки нажимаете на кнопку «OK».

Для сравнения хеш-сумм файлов нужно будет перетянуть файл в поле «Сравнение хеша». Если значения хэша файлов совпадают, то появится зеленый флажок.

Также можно проверить хеш другим способом. Для этого, нажимаете на кнопку «Сравнить файл…», а затем выбираете в окне Проводника файл для сравнения.

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

Кликнув правой кнопкой мыши по соответствующей контрольной сумме, вы можете скопировать эту сумму или все контрольные суммы, а также перейти к настройкам программы, если выберете в контекстном меню соответствующий пункт.

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

Выводы статьи

Программа HashTab предназначена для того, чтобы проверять контрольные суммы (хэш) файла. Используя бесплатную программу HashTab, вы всегда будете знать, были ли внесены изменения в файл, или нет.

Похожие публикации:

vellisa.ru

Проверка хеш-сумм: что это такое?

Многие пользователи компьютеров со временем, при более детальном знакомстве, задаются вопросом по поводу хеш-сумм. Их еще называют контрольными суммами. Что же это такое? Для чего нужно? Каким образом вычисляются эти самые суммы?

Определение

Контрольной суммой называется определенное значение, которое рассчитано для данных при помощи специальных алгоритмов. Предназначение хеш-сумм – проверка целостности данных при их передаче. Самые распространенные алгоритмы для расчета – MD5, CRC32 и SHA-1. Контрольные суммы также можно использовать для сравнения наборов данных на неэквивалентность, что применимо для обнаружения вирусов на компьютере.

Популярность использование этого метода получило из-за того, что проверка легко реализуется в цифровом оборудовании, работающем с двоичной системой исчисления. Она без проблем анализируется и отлично подходит для поиска ошибок, которые вызваны наличием шума в информационных каналах.

Алгоритмы для проверки

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

Алгоритм CRC32 применяется в работе архивирующих программ. Расшифровывается он как «циклический избыточный код».

Алгоритм SHA-1 нашел применение при проверке целостности данных, которые загружаются при помощи программы BitTorrent.

Пример

К примеру, пользователь хочет установить операционную систему или игру на свой компьютер. Он скачивает образ и хочет удостовериться в том, что целостность файла в порядке и при передаче ничего не потеряно. Самый простой способ для этого – сравнение хеш-сумм загруженного файла и предоставленного автором. Если они полностью совпадают, то образ не содержит ошибок. Ну а если хеш-суммы файлов отличаются, нужно перекачивать заново, так как произошел какой-то сбой.

Данная элементарная процедура служит профилактической мерой от некорректной работы, зависаний. Выполняя ее, можно быть уверенным, что установка операционной системы, программы или игры будет правильной.

Далее будут описаны утилиты, отлично справляющиеся с вычислением и проверкой контрольных сумм данных.

Программа HashTab: проверка хеш-суммы

Данная утилита является плагином, который интегрируется в операционную систему и используется в моменты надобности. Ее можно загрузить с официального сайта совершенно бесплатно в виде установочного файла. Инсталляция программы интуитивно понятна.

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

Как проверить хеш-суммы? Для этого в поле «Сравнение» нужно вставить сумму, которая указана автором. Если скачанный файл успешно прошел проверку на подлинность, появится зеленая галочка. В противном же случае пользователь увидит красный крестик. В таком случае рекомендуется скачать файл заново.

Настройки на вкладке «Хеш-суммы файлов» можно поменять, если нажать на соответствующий пункт. Откроется окно параметров, где есть возможность выставить отображение нужных контрольных сумм для проверки и вычисления. Для того чтобы все было наглядным, рекомендуется отметить галочкой чекбокс, позволяющий показывать контрольные суммы строчными символами.

Таким образом, работать с данной программой очень просто. С ней сможет разобраться даже малоопытный пользователь.

Программа MD5 File Checker

Эта утилита также загружается с официального сайта, но установки она не требует. Нужно лишь запустить ее. Она использует для проверки одноименный алгоритм. При скачивании файла нужно скопировать в буфер обмена хеш-сумму оригинала, а затем вставить ее в поле для проверки. Следующий шаг – выбор файла, который пользователь желает протестировать на целостность. После нажатия на кнопку «Проверить» будет получено сообщение с результатом работы, где будет сказано, совпадает ли контрольная сумма файлов или файл поврежден и соответствия нет.

Дополнительной возможностью утилиты является расчет суммы по алгоритму MD5 для любого файла на компьютере.

Вывод

Итак, было рассмотрено понятие «контрольной суммы». Стало ясно, для чего она используется. Для рядового пользователя это легкий вариант для того, чтобы проверить файл на целостность и соответствие оригиналу. Были описаны полезные утилиты для вычисления и сравнения хеш-сумм. Первая способна сравнивать различные суммы, а вторая только по одному алгоритму, но зато не требует инсталляции, что актуально при отсутствии прав администратора.

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

fb.ru

Что такое хеш и хэширование простыми словами.

Сегодня у нас на очереди хеш. Что это такое? Зачем он нужен? Почему это слово так часто используется в интернете применительно к совершенно разным вещам? Имеет ли это какое-то отношение к хештегам или хешссылкам? Где применяют хэш, как вы сами можете его использовать? Что такое хэш-функция и хеш-сумма? Причем тут коллизии?

">

Все это (или почти все) вы узнаете из этой маленькой заметки. Поехали...

Что такое хеш и хэширование простыми словами

Слово хеш происходит от английского «hash», одно из значений которого трактуется как путаница или мешанина. Собственно, это довольно полно описывает реальное значение этого термина. Часто еще про такой процесс говорят «хеширование», что опять же является производным от английского hashing (рубить, крошить, спутывать и т.п.).

Появился этот термин в середине прошлого века среди людей занимающихся обработках массивов данных. Хеш-функция позволяла привести любой массив данных к числу заданной длины. Например, если любое число (любой длинны) начать делить много раз подряд на одно и то же простое число, то полученный в результате остаток от деления можно будет называть хешем. Для разных исходных чисел остаток от деления (цифры после запятой) будет отличаться.

Для обычного человека это кажется белибердой, но как ни странно в наше время без хеширования практически невозможна работа в интернете. Так что же это такая за функция? На самом деле она может быть любой (приведенный выше пример это не есть реальная функция — он придуман мною чисто для вашего лучшего понимания принципа). Главное, чтобы результаты ее работы удовлетворяли приведенным ниже условиям.

Зачем нужен хэш

Смотрите, еще пример. Есть у вас текст в файле. Но на самом деле это ведь не текст, а массив цифровых символов (по сути число). Как вы знаете, в компьютерной логике используются двоичные числа (ноль и единица). Они запросто могут быть преобразованы в шестнадцатиричные цифры, над которыми можно проводить математические операции. Применив к ним хеш-функцию мы получим на выходе (после ряда итераций) число заданной длины (хеш-сумму).

Если мы потом в исходном текстовом файле поменяем хотя бы одну букву или добавим лишний пробел, то повторно рассчитанный для него хэш уже будет отличаться от изначального (вообще другое число будет). Доходит, зачем все это нужно? Ну, конечно же, для того, чтобы понять, что файл именно тот, что и должен быть. Это можно использовать в целом ряде аспектов работы в интернете и без этого вообще сложно представить себе работу сети.

Где и как используют хеширование

Например, простые хэш-функции (не надежные, но быстро рассчитываемые) применяются при проверке целостности передачи пакетов по протоколу TCP/IP (и ряду других протоколов и алгоритмов, для выявления аппаратных ошибок и сбоев — так называемое избыточное кодирование). Если рассчитанное значение хеша совпадает с отправленным вместе с пакетом (так называемой контрольной суммой), то значит потерь по пути не было (можно переходить к следующему пакету).

А это, ведь на минутку, основной протокол передачи данных в сети интернет. Без него никуда. Да, есть вероятность, что произойдет накладка — их называют коллизиями. Ведь для разных изначальных данных может получиться один и тот же хеш. Чем проще используется функция, тем выше такая вероятность. Но тут нужно просто выбирать между тем, что важнее в данный момент — надежность идентификации или скорость работы. В случае TCP/IP важна именно скорость. Но есть и другие области, где важнее именно надежность.

Похожая схема используется и в технологии блокчейн, где хеш выступает гарантией целостности цепочки транзакций (платежей) и защищает ее от несанкционированных изменений. Благодаря ему и распределенным вычислениям взломать блокчен очень сложно и на его основе благополучно существует множество криптовалют, включая самую популярную из них — это биткоин. Последний существует уже с 2009 год и до сих пор не был взломан.

Более сложные хеш-функции используются в криптографии. Главное условие для них — невозможность по конечному результату (хэшу) вычислить начальный (массив данных, который обработали данной хеш-функцией). Второе главное условие — стойкость к коллизиями, т.е. низкая вероятность получения двух одинаковых хеш-сумм из двух разных массивов данных при обработке их этой функцией. Расчеты по таким алгоритмам более сложные, но тут уже главное не скорость, а надежность.

Так же хеширование используется в технологии электронной цифровой подписи. С помощью хэша тут опять же удостоверяются, что подписывают именно тот документ, что требуется. Именно он (хеш) передается в токен, который и формирует электронную цифровую подпись. Но об этом, я надеюсь, еще будет отдельная статья, ибо тема интересная, но в двух абзацах ее не раскроешь.

Для доступа к сайтам и серверам по логину и паролю тоже часто используют хеширование. Согласитесь, что хранить пароли в открытом виде (для их сверки с вводимыми пользователями) довольно ненадежно (могут их похитить). Поэтому хранят хеши всех паролей. Пользователь вводит символы своего пароля, мгновенно рассчитывается его хеш-сумма и сверяется с тем, что есть в базе. Надежно и очень просто. Обычно для такого типа хеширования используют сложные функции с очень высокой криптостойкостью, чтобы по хэшу нельзя было бы восстановить пароль.

Какими свойствами должна обладать хеш-функция

Хочу систематизировать кое-что из уже сказанного и добавить новое.

  1. Как уже было сказано, функция эта должна уметь приводить любой объем данных (а все они цифровые, т.е. двоичные, как вы понимаете) к числу заданной длины (по сути это сжатие до битовой последовательности заданной длины хитрым способом).
  2. При этом малейшее изменение (хоть на один бит) входных данных должно приводить к полному изменению хеша.
  3. Она должна быть стойкой в обратной операции, т.е. вероятность восстановления исходных данных по хешу должна быть весьма низкой (хотя последнее сильно зависит от задействованных мощностей)
  4. В идеале она должна иметь как можно более низкую вероятность возникновения коллизий. Согласитесь, что не айс будет, если из разных массивов данных будут часто получаться одни и те же значения хэша.
  5. Хорошая хеш-функция не должна сильно нагружать железо при своем исполнении. От этого сильно зависит скорость работы системы на ней построенной. Как я уже говорил выше, всегда имеется компромисс между скорость работы и качеством получаемого результата.
  6. Алгоритм работы функции должен быть открытым, чтобы любой желающий мог бы оценить ее криптостойкость, т.е. вероятность восстановления начальных данных по выдаваемому хешу.

Хеш — это маркер целостности скачанных в сети файлов

Где еще можно встретить применение этой технологии? Наверняка при скачивании файлов из интернета вы сталкивались с тем, что там приводят некоторые числа (которые называют либо хешем, либо контрольными суммами) типа:

CRC32: 7438E546MD5: DE3BAC46D80E77ADCE8E379F682332EBSHA-1: 332B317FB97126B0F79F7AF5786EBC51E5CC82CF

Что это такое? И что вам с этим всем делать? Ну, как правило, на тех же сайтах можно найти пояснения по этому поводу, но я не буду вас утруждать и расскажу в двух словах. Это как раз и есть результаты работы различных хеш-функций (их названия приведены перед числами: CRC32, MD5 и SHA-1).

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

После чего прогнать скачанные файлы через эту программку и сравнить полученные числа с приведенными на сайте. Если совпадают, то сбоев при скачивании не было, а если нет, то значит были сбои и есть смысл повторить закачку заново.

Популярные хэш-алгоритмы сжатия
  1. CRC32 — используется именно для создания контрольных сумм (так называемое избыточное кодирование). Данная функция не является криптографической. Есть много вариаций этого алгоритма (число после CRC означает длину получаемого хеша в битах), в зависимости от нужной длины получаемого хеша. Функция очень простая и нересурсоемкая. В связи с этим используется для проверки целостности пакетов в различных протоколах передачи данных.
  2. MD5 — старая, но до сих пор очень популярная версия уже криптографического алгоритма, которая создает хеш длиной в 128 бит. Хотя стойкость этой версии на сегодняшний день и не очень высока, она все равно часто используется как еще один вариант контрольной суммы, например, при скачивании файлов из сети.
  3. SHA-1 — криптографическая функция формирующая хеш-суммы длиной в 160 байт. Сейчас идет активная миграция в сторону SHA-2, которая обладает более высокой устойчивостью, но SHA-1 по-прежнему активно используется хотя бы в качестве контрольных сумм. Но она так же по-прежнему используется и для хранения хешей паролей в базе данных сайта (об этом читайте выше).
  4. ГОСТ Р 34.11-2012 — текущий российский криптографический (стойкий к взлому) алгоритм введенный в работу в 2013 году (ранее использовался ГОСТ Р 34.11-94). Длина выходного хеша может быть 256 или 512 бит. Обладает высокой криптостойкостью и довольно хорошей скоростью работы. Используется для электронных цифровых подписей в системе государственного и другого документооборота.
HashTab — вычисление хеша для любых файлов на компьютере

Раз уж зашла речь о программе для проверки целостности файлов (расчета контрольных сумм по разным алгоритмам хеширования), то тут, наверное, самым популярным решением будет HashTab.

Она бесплатна для личного некоммерческого использования и покрывает с лихвой все, что вам может понадобиться от подобного рода софта. После ее скачивания и установки запускать ничего не надо. Просто кликаете правой кнопкой мыши по нужному файлу в Проводнике (или ТоталКомандере) и выбираете самый нижний пункт выпадающего меню «Свойства»:

В открывшемся окне перейдите на вкладку «Хеш-суммы файлов», где будут отображены контрольные суммы, рассчитанные по нужным вам алгоритмам хэширования (задать их можно нажав на кнопку «Настройки» в этом же окне). По умолчанию отображаются три самых популярных:

Чтобы не сравнивать контрольные суммы визуально, можно числа по очереди вставить в рассположенное ниже поле (со знаком решетки) и нажать на кнопку «Сравнить файл».

Как видите, все очень просто и быстро. А главное эффективно.

spayte.livejournal.com

Как узнать хэш файла в Windows PowerShell

08.09.2016&nbsp windows | для начинающих

Хэш или контрольная сумма файла — короткое уникальное значение, вычисляемое из содержимого файла и обычно использующееся для проверки целостности и соответствия (совпадения) файлов при загрузке, особенно если речь идет о больших файлах (образы системы и подобные), которые могут быть скачены с ошибками или есть подозрения о том, что файл был подменен вредоносным ПО.

На сайтах загрузок часто бывает представлена контрольная сумма, вычисленная по алгоритмам MD5, SHA256 и другим, позволяющая сверить загруженный файл с файлом, выложенным разработчиком. Для вычисления контрольных сумм файлов можно использовать сторонние программы, но есть способ сделать это и стандартными средствами Windows 10, 8 и Windows 7 (требуется версия PowerShell 4.0 и выше) — с помощью PowerShell или командной строки, что и будет продемонстрировано в инструкции.

Получение контрольной суммы файла средствами Windows

Для начала потребуется запустить Windows PowerShell: проще всего использовать поиск в панели задач Windows 10 или меню Пуск Windows 7 для этого.

Команда, позволяющая вычислить хэш для файла в PowerShell — Get-FileHash, а чтобы использовать ее для вычисления контрольной суммы достаточно ввести ее со следующими параметрами (в примере вычисляется хэш для образа ISO Windows 10 из папки VM на диске C):

Get-FileHash C:\VM\Win10_1607_Russian_x64.iso| Format-List

При использовании команды в таком виде, хэш вычисляется по алгоритму SHA256, но поддерживаются и другие варианты, задать которые можно с помощью параметра -Algorithm, например, для вычисления контрольной суммы MD5 команда будет выглядеть как в примере ниже

Get-FileHash C:\VM\Win10_1607_Russian_x64.iso -Algorithm MD5 | Format-List

При этом поддерживаются следующие значение для алгоритмов вычисления контрольной суммы в Windows PowerShell

  • SHA256 (по умолчанию)
  • MD5
  • SHA1
  • SHA384
  • SHA512
  • MACTripleDES
  • RIPEMD160

Подробное описание синтаксиса команды Get-FileHash доступно также на официальном сайте https://technet.microsoft.com/en-us/library/dn520872(v=wps.650).aspx

Получение хэша файла в командной строке с помощью CertUtil

В Windows присутствует встроенная утилита CertUtil для работы с сертификатами, которая, помимо прочего, умеет высчитывать контрольную сумму файлов по алгоритмам:

  • MD2, MD4, MD5
  • SHA1, SHA256, SHA384, SHA512

Для использования утилиты достаточно запустить командную строку Windows 10, 8 или Windows 7 и ввести команду в формате:

certutil -hashfile путь_к_файлу алгоритм

Пример получения хэша MD5 для файла показан на скриншоте ниже.

Дополнительно: на случай, если вам требуются сторонние программы для вычисления хэшей файлов в Windows, можно обратить внимание на SlavaSoft HashCalc.

Если же требуется вычислить контрольную сумму в Windows XP или в Windows 7 без PowerShell 4 (и возможности его установить), вы можете использовать утилиту командной строки Microsoft File Checksum Integrity Verifier, доступную для загрузки на официальном сайте https://www.microsoft.com/en-us/download/details.aspx?id=11533 (формат команды для использования утилиты: fciv.exe путь_к_файлу — результат будет MD5. Также можно вычислить хэш SHA1: fciv.exe -sha1 путь_к_файлу)

А вдруг и это будет интересно:

remontka.pro