private static string ChecksumToString(byte[] hash)
{
if (hash == null || hash.Length == 0) return String.Empty;
StringBuilder formatted = new StringBuilder(2 * hash.Length);
foreach (byte b in hash)
{
formatted.AppendFormat("{0:X2}", b);
}
return formatted.ToString();
}