Получаем MD5 файла или переменной в Powershell

Дата: 24.04.2017 Автор Admin

Для сравнения файлов или данных удобно использовать хэш суммы MD5, на днях понадобилось сделать это на Powershell.

Итак, как же это сделать?

Для рассчета MD5 конкретного файл, нам поможет командлет Get-FileHash.

Давайте рассчитаем MD5 для какого-нибудь файла, например explorer.exe , в папке Windows

В примере выше мы указали алгоритм и путь к файлу, вывод будет таким:

Если вам нужен только результат, то можно добавить select

Так мы увидим только хэш

Ну и если нужна только строка с данными, то команда будет выглядеть так:

Если вам нужно посчитать хэш для нескольких файлов в папке выполните такую команду:

Тут мы указали в качестве папки C:\Windows\Speech\Engines , файлы которой мы передали командлету Get-FileHash, результат будет таким:

Кстати, кроме MD5 можно указать следующие алгоритмы:

SHA1
SHA256
SHA384
SHA512
MACTripleDES
MD5
RIPEMD160

Этот командлет отлично подходит для файлов, но что делать если хэш MD5 нужно получить из переменной или строк?

Тут нам поможет следующая функция:

Вот как она работает:

Вывод будет таким:

Давайте рассмотрим пример, что нам нужно получить слепок MD5 из нескольких строк, из массива данных.

Объявим переменную:

Теперь получим хэш MD5 нескольких строк MD5 из переменной указанной выше:

Вывод будет таким:

В указанной выше функции мы используем класс .NET System.Security.Cryptography , в котором используем алгоритм MD5, если вам нужны другие алгоритмы, вы можете найти их на этой странице

Надеюсь статья была полезной и возможно кому-то это поможет сэкономить время.


Добавить комментарий

Ваш адрес email не будет опубликован.