1. ホーム
  2. powershell

[解決済み】PowerShellでMD5チェックサムを取得する方法

2022-04-11 01:44:55

質問

を計算したい。 MD5 チェックサム PowerShellでこれを行うにはどうすればよいですか?

どのように解決するのですか?

PowerShell バージョン 4 からは、ファイルに対して簡単に Get-FileHash コマンドレットを使用します。

Get-FileHash <filepath> -Algorithm MD5

コメントで指摘されているような、古い PowerShell 用のソリューションが抱える問題(ストリームの使用、クローズ、大きなファイルのサポート)を回避できるため、確かにこの方が望ましいと言えます。

コンテンツが文字列の場合

$someString = "Hello, World!"
$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$utf8 = New-Object -TypeName System.Text.UTF8Encoding
$hash = [System.BitConverter]::ToString($md5.ComputeHash($utf8.GetBytes($someString)))


古いバージョンのPowerShellの場合

コンテンツがファイルの場合

$someFilePath = "C:\foo.txt"
$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
$hash = [System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($someFilePath)))