「C#」文字列のMD5ハッシュ値を取得する

説明
MD5CryptoServiceProvider クラス
暗号化サービス プロバイダー (CSP: cryptographic service provider) によって提供された実装を使用して、入力データの MD5 ハッシュ値を計算します。

書式
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 = "study skill become smart";

            // ハッシュ値を計算
            MD5CryptoServiceProvider mdsp = new MD5CryptoServiceProvider();
            // すべての文字をバイト シーケンスにエンコード
            byte[] beforeByteArr = Encoding.UTF8.GetBytes(target);
            // 指定したバイト配列のハッシュ値を計算
            byte[] afterByteArr = mdsp.ComputeHash(beforeByteArr);
            // HashAlgorithm クラスによって使用されているすべてのリソースを解放
            mdsp.Clear();

            // バイト配列を16進数文字列に変換
            StringBuilder sbd = new StringBuilder();
            foreach (byte bt in afterByteArr)
            {
                sbd.Append(bt.ToString("x2"));
            }

            // コンソールに出力
            Console.WriteLine("MD5ハッシュ値: " + sbd.ToString());

            Console.ReadKey();
        }
    }
}

実行結果
MD5ハッシュ値: 313f18dfa9a8d63446f68e6df82c783a

C#

Posted by arkgame