static string HashAsString(string data, Func<HashAlgorithm> factory)
{
var bytes = Encoding.UTF8.GetBytes(data);
using (var hasher = factory())
{
var by2 = hasher.ComputeHash(bytes);
var sb = new StringBuilder();
foreach (var b in by2)
{
sb.Append(b.ToString("x2"));
}
return sb.ToString();
}
}