public static string Hash(Stream input)
{
input.Seek (0, SeekOrigin.Begin);
byte[] hash = md5.ComputeHash (input);
input.Seek (0, SeekOrigin.Begin);
StringBuilder sb = new StringBuilder (hash.Length * 2);
foreach (byte b in hash)
sb.Append (b.ToString ("x"));
return sb.ToString ();
}