System.Security.Cryptography.MD5クラスでMD5ハッシュ値の計算、Convert.ToBase64StringメソッドでBASE64への変換ができる。
MD5ハッシュ値の生成
CompluteHashメソッドにはStreamクラスを渡すこともできるので、ファイルのハッシュ値を求めたい場合などはファイルを開いてStreamを渡せばよい。
SHA256クラスなどHashAlgorithmの派生クラスを用いることで、上記と同様のコードでMD5以外のハッシュ値を求めるようにすることもできる。
md5sumコマンドのようにBASE64ではなく16進値で取得したい場合は、Convert.ToBase64String()メソッドの代わりにBitConverter.ToString()メソッドを使う。 ただし、BitConverter.ToString()メソッドはバイト毎にハイフンを挟み、大文字形式で文字列化するので、md5sumコマンドの結果と同じにしたい場合はハイフンを取り除き、大文字を小文字に必要がある。
参考までに、md5sumコマンドを使った場合の結果は以下のとおり。
MD5クラスを使ってmd5sumコマンドを実装する
MD5クラスを使ってmd5sumコマンドと同じ結果を出力するプログラムを作る。