System.Security.Cryptography.MD5'i kullanmak çok basit :
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(filename))
{
return md5.ComputeHash(stream);
}
}
( Aslında kullanılan MD5 uygulamasının atılması gerekmediğine inanıyorum, ancak yine de yine de yaparım.)
Sonuçları daha sonra nasıl karşılaştıracağınız size bağlıdır; bayt dizisini örneğin base64 biçimine dönüştürebilir veya baytları doğrudan karşılaştırabilirsiniz. (Sadece dizilerin geçersiz kılmadığının farkında olun Equals. Base64 kullanmak doğru olmak için daha basit, ancak yalnızca karmaları karşılaştırmakla ilgileniyorsanız biraz daha az verimli.)
Hash'i bir dize olarak temsil etmeniz gerekiyorsa, şunu kullanarak hex'e dönüştürebilirsiniz BitConverter:
static string CalculateMD5(string filename)
{
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(filename))
{
var hash = md5.ComputeHash(stream);
return BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant();
}
}
}