Skip to content

Instantly share code, notes, and snippets.

@gitfvb
Created January 10, 2019 09:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gitfvb/18faf9579e377320d2cede0acfdf77b6 to your computer and use it in GitHub Desktop.
Save gitfvb/18faf9579e377320d2cede0acfdf77b6 to your computer and use it in GitHub Desktop.
Hashing of a string in Powershell
Function Get-StringHash()
{
param(
[Parameter(Mandatory=$true)][string]$inputString,
[Parameter(Mandatory=$true)][string]$hashName,
[Parameter(Mandatory=$false)][string]$salt,
[Parameter(Mandatory=$false)][boolean]$uppercase=$false
)
$string = $inputString + $salt
$StringBuilder = New-Object System.Text.StringBuilder
[System.Security.Cryptography.HashAlgorithm]::Create($hashName).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($string))|%{
[Void]$StringBuilder.Append($_.ToString("x2"))
}
$res = $StringBuilder.ToString()
if ( $uppercase ) {
$res.ToUpper()
} else {
$res
}
}
Get-StringHash "Hello" -hashName "SHA256"
Get-StringHash "Hello" -hashName "SHA256" -salt "World"
Get-StringHash "Hello" -hashName "SHA256" -salt "World" -uppercase $true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment