Это не так просто, как должно быть. PowerShell может MD5 хэшировать файл изначально (используя Get-FileHash
), но не строку.
К счастью, MS предлагает решение здесь .
#http://jongurgul.com/blog/get-stringhash-get-filehash/ Function Get-StringHash([String] $String,$HashName = "MD5") { $StringBuilder = New-Object System.Text.StringBuilder [System.Security.Cryptography.HashAlgorithm]::Create($HashName).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($String))|%{ [Void]$StringBuilder.Append($_.ToString("x2")) } $StringBuilder.ToString() }
Скопируйте эту функцию и вставьте ее в приглашение PowerShell. Эта вызванная функция Get-StringHash
будет сохранена для этого сеанса PowerShell.
Проверьте MD5 хэшированием слова «test», набрав:
Get-StringHash "test" "MD5"
И вы должны получить хеш MD5 ниже:
098f6bcd4621d373cade4e832627b4f6
Как только это будет сделано, вы можете использовать эту функцию вместе с Get-Process
получением имен процессов и MD5 имен, как показано ниже:
get-process | ForEach-Object