Проверка хэша 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 |
Допускать подстановочные знаки: td> | Ложь |
Указывает входной поток.
Тип: | Поток |
Позиция: | 0 |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | False |
Допускать подстановочные знаки: | False |
Указывает путь к файлу. В отличие от параметра Path, значение параметра LiteralPath используется точно так, как оно введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите путь в одинарные кавычки. Одинарные кавычки указывают PowerShell не интерпретировать символы как управляющие последовательности.
Тип: | String [ ] |
Псевдонимы: | PSPath, LP |
Позиция: | 0 |
Значение по умолчанию: | Нет< /td> |
Принимать ввод конвейера: | True |
Допускать подстановочные знаки: | Ложь |
Указывает путь к одному или нескольким файлам в виде массива. Подстановочные знаки разрешены.
Тип: | Строка [ ] |
Позиция: | 0 td> |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | 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
- Нажмите одновременно кнопки Win+X.
- Выберите Windows PowerShell из списка.
- Введите команду CD, чтобы выбрать каталог файла.
- Введите команду get-filehash, указав путь к файлу.
- Найдите хэш на экране с помощью алгоритма.
Проверка подлинности и целостности 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 запрещен, не распознан или не работает
сообщить об этом объявлении
[электронная почта защищена]
Судип любит использовать новейшие технологии и гаджеты. Помимо того, что он пишет обо всем, что связано с технологиями, он увлекается фотошопом и увлекается футболом.
Читайте также: