using System.IO; using System.Security.Cryptography; using System.Text; public static class Signature { public static string CalculateHash(string path) { string hash; using (var hasher = MD5.Create()) using (var stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite, 4096, true)) { var hashBytes = hasher.ComputeHash(stream); var hashBuilder = new StringBuilder(); foreach (byte b in hashBytes) hashBuilder.Append(b.ToString("x2").ToLower()); hash = hashBuilder.ToString(); } return hash; } }