header
CodePanic! > C#.NET Tips > 今ここ

■ファイルのMD5ハッシュ値を取得する

MD5CryptoServiceProviderクラスを利用します。
ComputeHash関数でbyte配列を取得し
BitConverterでbyte配列を16進数文字列に変換しています。

private string GetMD5FromFile(string filename)
{
    string ret = string.Empty;

    if (File.Exists(filename))
    {
        System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
        FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
        byte[] bytehash = md5.ComputeHash(fs);
        ret = BitConverter.ToString(bytehash).Replace("-", string.Empty);
    }

    return ret;
}





Copyright © 2008.07 - shougo suzaki