「C#」文字列のSHA256ハッシュ値を取得する
説明
SHA256 アルゴリズムの暗号サービス プロバイダー (CSP: Cryptographic Service Provider) 実装にアクセスするためのラッパー オブジェクトを定義します。
書式
1.GetBytes(String)
派生クラスでオーバーライドされた場合、指定した文字列に含まれるすべての文字をバイト シーケンスにエンコードします。
2.ComputeHash(Byte[])
指定したバイト配列のハッシュ値を計算します。
3.Clear()
HashAlgorithm クラスによって使用されているすべてのリソースを解放します。
使用例
using System;
using System.Security.Cryptography;
using System.Text;
namespace ConsoleApplicationSample
{
class Program
{
static void Main(string[] args)
{
// 文字列変数の定義
string target = "arkgame";
// ハッシュ値を計算
SHA256CryptoServiceProvider shsp = new SHA256CryptoServiceProvider();
// すべての文字をバイト シーケンスにエンコード
byte[] beforeByteArr = Encoding.UTF8.GetBytes(target);
// 指定したバイト配列のハッシュ値を計算
byte[] afterByteArr = shsp.ComputeHash(beforeByteArr);
// HashAlgorithm クラスによって使用されているすべてのリソースを解放
shsp.Clear();
// バイト配列を16進数文字列に変換
StringBuilder sbd = new StringBuilder();
foreach (byte bt in afterByteArr)
{
sbd.Append(bt.ToString("x2"));
}
// コンソールに出力
Console.WriteLine("SHA256ハッシュ値: " + sbd.ToString());
Console.ReadKey();
}
}
}
using System;
using System.Security.Cryptography;
using System.Text;
namespace ConsoleApplicationSample
{
class Program
{
static void Main(string[] args)
{
// 文字列変数の定義
string target = "arkgame";
// ハッシュ値を計算
SHA256CryptoServiceProvider shsp = new SHA256CryptoServiceProvider();
// すべての文字をバイト シーケンスにエンコード
byte[] beforeByteArr = Encoding.UTF8.GetBytes(target);
// 指定したバイト配列のハッシュ値を計算
byte[] afterByteArr = shsp.ComputeHash(beforeByteArr);
// HashAlgorithm クラスによって使用されているすべてのリソースを解放
shsp.Clear();
// バイト配列を16進数文字列に変換
StringBuilder sbd = new StringBuilder();
foreach (byte bt in afterByteArr)
{
sbd.Append(bt.ToString("x2"));
}
// コンソールに出力
Console.WriteLine("SHA256ハッシュ値: " + sbd.ToString());
Console.ReadKey();
}
}
}
using System; using System.Security.Cryptography; using System.Text; namespace ConsoleApplicationSample { class Program { static void Main(string[] args) { // 文字列変数の定義 string target = "arkgame"; // ハッシュ値を計算 SHA256CryptoServiceProvider shsp = new SHA256CryptoServiceProvider(); // すべての文字をバイト シーケンスにエンコード byte[] beforeByteArr = Encoding.UTF8.GetBytes(target); // 指定したバイト配列のハッシュ値を計算 byte[] afterByteArr = shsp.ComputeHash(beforeByteArr); // HashAlgorithm クラスによって使用されているすべてのリソースを解放 shsp.Clear(); // バイト配列を16進数文字列に変換 StringBuilder sbd = new StringBuilder(); foreach (byte bt in afterByteArr) { sbd.Append(bt.ToString("x2")); } // コンソールに出力 Console.WriteLine("SHA256ハッシュ値: " + sbd.ToString()); Console.ReadKey(); } } }
実行結果
SHA256ハッシュ値: 165ea25595fa8f204e1a67ae28748c9c567199057910b682657b576bf174f765