ハッシュの「標準」テキストフォーマットが必要な場合は、次のようなものを使用できます。
static string Hash(string input)
{
using (SHA1Managed sha1 = new SHA1Managed())
{
var hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(input));
var sb = new StringBuilder(hash.Length * 2);
foreach (byte b in hash)
{
sb.Append(b.ToString("X2"));
}
return sb.ToString();
}
}
これにより、のようなハッシュが生成され0C2E99D0949684278C30B9369B82638E1CEAD415
ます。
またはコードゴルフバージョンの場合:
static string Hash(string input)
{
var hash = new SHA1Managed().ComputeHash(Encoding.UTF8.GetBytes(input));
return string.Concat(hash.Select(b => b.ToString("x2")));
}
hex(e) == hex(E)