2月 20

ファイルの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;
}

2月 20

byte配列を16進数文字列へ

BitConverterクラスを利用します。
byte[] data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };

// 結果:00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F(ハイフンが付きます)
BitConverter.ToString(data);

// 結果:000102030405060708090A0B0C0D0E0F(ハイフンを削除したい場合)
BitConverter.ToString(data).Replace("-",string.Empty)