Public/Get-MD5Hash.ps1
function Get-MD5Hash { <# .Synopsis MD5Hash для строки .Description MD5Hash для строки Помним про Get-FileHash для работы с файлами .Parameter Value Строка для преобразования .Parameter Hyphened Должен определять, вставлять ли символ "-" в строку или нет. .Example PS C:\> Get-MD5Hash -Value 'Йцукен' -Hyphened 1A-63-05-60-6D-BE-C3-D2-4E-99-42-EA-50-98-DA-DD .Inputs Строка .Outputs Строка, MD5Hash для входного параметра #> [CmdletBinding()] [OutputType([System.String])] Param( [Parameter(Mandatory = $true, ValueFromPipeline = $true, Position = 0)] [System.String] $Value, [Parameter(Mandatory = $false, ValueFromPipeline = $false, Position = 1)] [switch] $Hyphened ) Begin { } Process { try { $MD5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider $UTF8 = New-Object -TypeName System.Text.UTF8Encoding $Result = [System.BitConverter]::ToString($MD5.ComputeHash($UTF8.GetBytes($Value))) if (-not($Hyphened)) { $Result = $Result.Replace('-', '') } } catch { #$PSCmdlet.ThrowTerminatingError($PSItem) Write-Error -Exception $PSItem.Exeception } } End { return $Result } } |