PowerShell でファイルのハッシュ値を取得する方法です。PowerShell v4 からは Get-FileHash
コマンドレットが追加されたため、たった1行でファイルのハッシュ値が取得できます。
スポンサーリンク
Get-FileHash を使ってみる
Get-FileHash
コマンドレットの使い方は次のとおり。
Get-FileHash path/to/file
【POINT】
ファイルの内容から一意のハッシュ値を求めます。つまり、ファイル名や拡張子などを変更してもハッシュ値に変化はありません。
MD5, SHA1 などのアルゴリズムを指定する
Get-FileHash
コマンドレットは、デフォルトでは「SHA256」のアルゴリズムでハッシュ値を生成する。これ以外のアルゴリズムでハッシュ値を生成する場合は、-Algorithm
パラメータにハッシュアルゴリズムを指定します。
次の例は、ハッシュアルゴリズムを「MD5」に指定してファイルのハッシュ値を取得例です。
Get-FileHash -Algorithm MD5 path/to/file
また、使用できるアルゴリズムは次の通りである。
- SHA1
- SHA256
- SHA384
- SHA512
- MD5
スポンサーリンク
文字列のハッシュ値を取得するには?
Get-FileHash
コマンドレットは、基本的にはファイルのハッシュ値を取得するための用途で使用するが、Stream
型での入力もできるため、文字列のハッシュ値を取得することもできる。
文字列のハッシュ値を取得する場合は、一旦 MemoryStream
上に文字列を展開して Get-FileHash
コマンドレットに渡すことで取得ができる。
$stream = [IO.MemoryStream]::new([Text.Encoding]::UTF8.GetBytes("ハッシュ値にした文字列"))
Get-FileHash -InputStream $stream -Algorithm MD5
■ 実行結果
Algorithm Hash Path
--------- ---- ----
MD5 8D96CD60662151D28ADD7A90CC39C2AF
0 件のコメント:
コメントを投稿