ユーティリティ

[C#] SHA256ハッシュ値を取得する

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クラスを使用します。

関連記事

-ユーティリティ