SHA256ハッシュ値を取得する方法です。
サンプル
例)文字列"HOGEHOGE"のSHA256ハッシュ値を取得する
using System;
using System.Security.Cryptography;
using System.Text;
// 文字列
string str = "HOGEHOGE";
// ハッシュ値を計算する
SHA256CryptoServiceProvider sha256 = new SHA256CryptoServiceProvider();
byte[] beforeByteArray = Encoding.UTF8.GetBytes(str);
byte[] afterByteArray = sha256.ComputeHash(beforeByteArray);
sha256.Clear();
// バイト配列を16進数文字列に変換
StringBuilder sb = new StringBuilder();
foreach (byte b in afterByteArray)
{
sb.Append(b.ToString("x2"));
}
// コンソールに出力
Console.WriteLine(sb.ToString());
結果
e0cc651498b38512d6e7c50229ec2156a95d04d20dfa3b5962a530152d226c8f
その他のSHAクラス
SHAハッシュ値には、SHA256以外にもSHA1やSHA512などがあります。
それらのハッシュ値を取得したい場合は、以下のクラスをご使用ください。
SHAの種類 | クラス |
---|---|
SHA1 | SHA1CryptoServiceProvider |
SHA256 | SHA256CryptoServiceProvider |
SHA384 | SHA384CryptoServiceProvider |
SHA512 | SHA512CryptoServiceProvider |
上記すべて、System.Security.Cryptography名前空間内のクラスです。
備考
- SHA256ハッシュ値を取得するには、System.Security.Cryptography.SHA256CryptoServiceProviderクラスを使用します。