Powershellでハッシュ計算
いわゆるフィンガープリント用ですね。
.NETのSystem.Security.Cryptography名前空間を利用しているので、SHA256/SHA384/SHA512あたりも同様です。
# ハッシュ値を計算する function Calc-Hash([System.Security.Cryptography.HashAlgorithm] $alg, [string] $s, [bool] $file = $false) { if($file) { #ハッシュ値を計算するStream $stream = New-Object IO.StreamReader $s } else { #文字列をbyte型配列に変換する $data = [System.Text.Encoding]::ASCII.GetBytes($s) } # ハッシュ値を計算する if($file) { $hash = $alg.ComputeHash($stream.BaseStream) } else { $hash = $alg.ComputeHash($data) } return [System.BitConverter]::ToString($hash).ToLower().Replace("-","") } # 例 # 文字列のハッシュ値(「ハッシュアルゴリズム 対象文字列」を渡す) $md5 = [System.Security.Cryptography.MD5]::Create() Calc-Hash $md5 "hogehoge" # ファイルのハッシュ値(「ハッシュアルゴリズム パス $true」を渡す) Calc-Hash $md5 "xxxx.zip" $true Calc-Hash ([System.Security.Cryptography.SHA1]::Create()) "xxxx.zip" $true