System.Security.Cryptography.MD5 を使用して、文字列と同じ文字列を含むファイルから MD5 ハッシュを生成します。ただし、ハッシュ値は異なります。
文字列から生成するコードは次のとおりです
byte[] data = Encoding.ASCII.GetBytes("The quick brown fox jumps over the lazy dog");
byte[] hash = MD5.Create().ComputeHash(data);
return BitConverter.ToString(hash).Replace("-", "").ToLower();
そして、ファイルからハッシュを生成するときのコードは次のとおりです
internal static string CalculateFileHashTotal(string fileLocation)
{
using(var md5 = MD5.Create())
{
using (var stream = File.OpenRead(fileLocation))
{
byte[] b = md5.ComputeHash(stream);
stream.Close();
return BitConverter.ToString(b).Replace("-", "").ToLower();
}
}
}
文字列からのハッシュは正しいので、ファイルからのハッシュは余分なものを読み取るか、ファイル全体を読み取らないと思います。Googleで答えが見つかりませんでした。
何か案は?