ということをやったので忘れないようにメモ。
.NET Frameworkの System.Security.Cryptographyを使えばよい。

下記のコードはsha1でやってるけど、System.Security.Cryptographyには他のクラスもあるのでMD5とかsha256とかもいけるはず。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.IO;
using System.Security.Cryptography;

namespace TestCheckSum
{
class Program
{
static void Main (string[] args)
{

using (var fs = new FileStream(@"ファイルのパス", FileMode.Open, FileAccess.Read))
{
byte[] sha1byte = SHA1.Create().ComputeHash(fs);

//BitConverterでハイフン付き大文字のハッシュ値が取得できるので、ハイフンなし小文字に置き換える。
string sha1string = BitConverter.ToString(sha1byte).Replace("-","").ToLower();
}
}
}
}

以上。