Проверка хэша Powershell

Обновлено: 21.11.2024

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

Командлет Get-FileHash PowerShell позволяет создавать контрольные суммы для файлов, и эти контрольные суммы однозначно идентифицируют файлы. Существует несколько алгоритмов, которые практикуются в файле для создания контрольной суммы. В этом информативном посте мы кратко расскажем о создании контрольной суммы PowerShell с помощью командлета Get-FileHash.

Как работает командлет Get-FileHash

Работа командлета Get-FileHash зависит от приведенного ниже синтаксиса:

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

По умолчанию командлет Get-FileHash создает контрольную сумму с использованием алгоритма SHA256. Однако в параметре -Algorithm также можно использовать следующие алгоритмы:

SHA2: безопаснее, чем SHA1, и широко распространен. Семейство SHA-2 включает SHA512, SHA256, SHA224, SHA384. Среди них наиболее часто используются SHA512 и SHA256, поскольку два других являются усеченными версиями SHA256 и SHA512.

SHA3: более безопасная и надежная версия, чем SHA2. Рекомендуется для крупных компаний, которым требуется дополнительная безопасность передачи данных.

MD5: он работал хорошо, но несколько нарушений безопасности в присутствии MD5 сделали его скомпрометированным.

RIPEMD160: представлен в середине 1990-х, доступно несколько версий. Каждая новая версия генерирует длинные хэши, что делает их более безопасными.

Примечание. Вышеуказанные алгоритмы поддерживаются PowerShell 4 до версии 5.1. Однако версии PowerShell 6 и выше поддерживают только MD5, SHA3 и все экземпляры SHA2.

Как создать контрольную сумму PowerShell с помощью Get-FileHash

В этом разделе рассматриваются несколько примеров, которые используются для создания контрольной суммы с помощью Get-FileHash.

Пример 1: Создание контрольной суммы с параметрами по умолчанию
Команда, написанная ниже, создает значение контрольной суммы для файла linuxhint.txt. Вывод показывает имя алгоритма, использованного для шифрования файла, хеш-ключ и путь к файлу:

Пример 2. Контрольная сумма с использованием определяемых пользователем параметров
Командлет Get-FileHash позволяет использовать алгоритм хеширования (поддерживается) для создания файла контрольной суммы. В приведенной ниже команде мы сгенерировали хэш с использованием алгоритма SHA512.

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

Пример 3: Сохраните сгенерированную контрольную сумму в файл
Сгенерированную контрольную сумму необходимо сохранить для использования в будущем. Итак, здесь мы предоставили команду для сохранения сгенерированного вывода в текстовом файле. Написанная ниже команда генерирует контрольную сумму и сохраняет ее в файл «F:\linuxhint256.txt». И выполняется команда Get-Content, чтобы проверить, сохранилась контрольная сумма или нет:

> Get-FileHash -Path E:\linuxhint.txt | Out-File -Path F:\linuxhint256.txt
> Get-Content -Path F:\linuxhint256.txt

Заключение

Контрольная сумма — это агент проверки, широко используемый для проверки целостности файла. Контрольные суммы генерируются для файла, отправляемого в сеть/пользователям. Эти контрольные суммы сравниваются на стороне получателя для проверки содержимого. В этой статье рассматривается использование командлета Get-FileHash для создания контрольной суммы файла. Get-FileHash позволяет создавать контрольные суммы, поддерживая несколько алгоритмов хеширования. Вы можете использовать алгоритм хеширования по умолчанию или изменить его с помощью командлета Get-FileHash.

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

Синтаксис

Описание

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

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

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

Примеры

Пример 1. Вычисление хеш-значения для файла

В этом примере командлет Get-FileHash используется для вычисления хэш-значения для файла /etc/apt/sources.list. Используемый алгоритм хэширования — SHA256 по умолчанию. Выходные данные передаются командлету Format-List для форматирования выходных данных в виде списка.

Пример 2. Вычисление хеш-значения для файла ISO

В этом примере используется командлет Get-FileHash и алгоритм SHA384 для вычисления хеш-значения для файла ISO, загруженного администратором из Интернета. Выходные данные передаются командлету Format-List для форматирования выходных данных в виде списка.

Пример 3. Вычисление хеш-значения потока

Пример 4. Вычисление хэша строки

PowerShell не предоставляет командлет для вычисления хэша строки. Однако вы можете записать строку в поток и использовать параметр InputStream командлета Get-FileHash для получения хеш-значения.

Параметры

Если значение не указано или параметр опущен, значением по умолчанию является SHA256.

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

Тип:String
Допустимые значения:SHA1, SHA256, SHA384, SHA512, MD5
Позиция:1
Значение по умолчанию: Нет
Принимать ввод конвейера:False
Допускать подстановочные знаки:Ложь

Указывает входной поток.

Тип:Поток
Позиция:0
Значение по умолчанию:Нет
Принять ввод конвейера:False
Допускать подстановочные знаки:False

Указывает путь к файлу. В отличие от параметра Path, значение параметра LiteralPath используется точно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите путь в одинарные кавычки. Одинарные кавычки указывают PowerShell не интерпретировать символы как управляющие последовательности.

Тип:String [ ]
Псевдонимы:PSPath, LP
Позиция:0
Значение по умолчанию:Нет< /td>
Принимать ввод конвейера:True
Допускать подстановочные знаки: Ложь

Указывает путь к одному или нескольким файлам в виде массива. Подстановочные знаки разрешены.

Тип:Строка [ ]
Позиция:0
Значение по умолчанию:Нет
Принять ввод конвейера:True< /td>
Допускать подстановочные знаки:True

Входные данные

Командлету Get-FileHash можно передать строку, содержащую путь к одному или нескольким файлам.

Результаты

Microsoft.Powershell.Utility.FileHash

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

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

Стандартный псевдоним для Get-FileHash: н/д

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

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

Несмотря на то, что некоторые алгоритмы хеширования, в том числе MD5 и SHA1, больше не считаются защищенными от атак, цель безопасного алгоритма хэширования – сделать невозможным случайное изменение содержимого файла, злонамеренное или несанкционированное изменение. try-и поддерживать то же значение хеш-функции. Вы также можете использовать хэш-значения, чтобы определить, имеют ли два разных файла точно такое же содержимое. Если хеш-значения двух файлов идентичны, содержимое файлов также идентично. По умолчанию командлет Get-FileHash использует алгоритм SHA256, хотя можно использовать любой алгоритм хэширования, поддерживаемый целевой операционной системой.

Вычисление хэш-значения SHA256 для файла PowerShell.exe:

PS C:\> Get-FileHash $pshome\powershell.exe |
Алгоритм: SHA256
Хеш: 6A785ADC0263238DAB3EB37F4C185C8FBA7FEB5D425D034CA9864F1BE1C1B473
Путь: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

Вычисление хеш-значения SHA512 для файла ISO:

PS C:\> Get-FileHash C:\demo\sample.iso -Алгоритм SHA512 | Список форматов

Вычислите хеш-значение SHA256 по умолчанию для всех файлов в папке:

PS C:\> Get-ChildItem 'c:\demo' | Получить FileHash | Select-Object Hash,Path

Вычисление хеш-значения потока:

«Поэты не рисуют. Они распутывают свой почерк, а потом снова перевязывают, но по-другому» ~ Жан Кокто

Если вы хотите проверить и подтвердить хэш ISO-файла Windows 11/10 с помощью PowerShell, следуйте этому руководству. Простая команда PowerShell может показать хэш файла ISO Windows 11/10 или любого файла, который может быть на вашем компьютере. Здесь мы собираемся показать вам процесс регулярной проверки хэша файла или определения определенного алгоритма.

Хэш файла – это уникальный элемент, который многое говорит о файле, а также выполняет проверку биографических данных. Вы можете часто проверять хэш файла и сопоставлять его с предыдущим, чтобы узнать, были ли данные подделаны, изменены или изменены, изменены или что-либо еще кем-то. Это также поможет вам найти и удалить дубликаты файлов. Прежде чем приступить к работе с этим руководством, убедитесь, что у вас всегда есть ISO-образ Windows 11/10. Если нет, вы можете следовать нашему подробному руководству по загрузке последней версии Windows ISO с официального сайта.

Как проверить хеш ISO-файла Windows 11/10

  1. Нажмите одновременно кнопки Win+X.
  2. Выберите Windows PowerShell из списка.
  3. Введите команду CD, чтобы выбрать каталог файла.
  4. Введите команду get-filehash, указав путь к файлу.
  5. Найдите хэш на экране с помощью алгоритма.

Проверка подлинности и целостности Windows ISO

Вам необходимо открыть Windows PowerShell на своем компьютере. Для этого вы можете использовать окно поиска на панели задач. Кроме того, вы можете одновременно нажать кнопку Win+X и выбрать здесь Windows PowerShell. После этого вам нужно ввести следующую команду, чтобы выбрать каталог файлов, в который вы поместили Windows 10 ISO.

По умолчанию PowerShell открывается в C:\Users\ . Если ваш файл находится на рабочем столе, вам нужно ввести это-

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

Например, если имя ISO-образа Windows — mywindows10.iso, вам нужно ввести следующую команду:

Он поддерживает SHA1, SHA256, SHA384, SHA512, MD5, MACTripleDES и RIPEMD160.

Поэтому, если вы хотите изменить алгоритм и проверить этот конкретный хэш, вы должны ввести команду, подобную этой:

В результате теперь вы можете увидеть SHA384 в столбце Алгоритм рядом с хешем и полным путем.

Надеюсь, это простое руководство поможет вам.

Вам может понравиться это:

Дата: 7 июля 2021 г. Метки: PowerShell

Похожие записи

Команда Install-Module была найдена в модуле PowerShellGet, но модуль не может быть загружен

Как экспортировать список служб Windows с помощью командной строки

Доступ к PowerShell Get-Appxpackage запрещен, не распознан или не работает

сообщить об этом объявлении

[электронная почта защищена]

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

Читайте также: