public async Task <string> HashFile(string path, string algorithm = "md5") { using (var file = File.OpenRead(path)) { using (var blockhasher = new BlockHasher("md5")) { await blockhasher.TransformAsync(file); return(blockhasher.GetStringHash()); } } }
public async Task BlockHasher_AsyncStreamTransform_MD5HashStringHexadecimalResult() { using (var blockhasher = new BlockHasher("md5")) { var mr = new MemoryStream(); var buffer = Encoding.UTF8.GetBytes("Hello world!"); mr.Write(buffer, 0, buffer.Length); mr.Position = 0; await blockhasher.TransformAsync(mr); var a1 = blockhasher.GetStringHash(); Assert.AreEqual(a1, "86fb269d190d2c85f6e0468ceca42a20", "Invalid MD5 hash result."); } }