【C#】SHA256でハッシュ値を計算する

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【C#】SHA256でハッシュ値を計算する

2023-1-26 |

C#でハッシュ値(SHA256)を求めたい!

概要

今回の記事では、C#でハッシュ値(SHA256)を求める手順を掲載する。

ハッシュ値を求めるアルゴリズムはいろいろあるんだけども、今回はSHA-2のバリエーションの1つであるSHA256を紹介する。

仕様書

  • .NET6.0

手順書

SHA256(SHA-2)でハッシュ値を計算してコンソールに出力するサンプル。

using System.Text;
using System.Security.Cryptography;

namespace sha256_test
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string str = "https://blog.nekonium.com";

            var sha256 = new SHA256CryptoServiceProvider();
            byte[] bytes = Encoding.UTF8.GetBytes(str);
            byte[] result = sha256.ComputeHash(bytes);
            sha256.Clear();

            var stringBuilder = new StringBuilder();

            foreach (byte b in result)
            {
                stringBuilder.Append(b.ToString("x2"));
            }

            Console.WriteLine("hash: " + stringBuilder.ToString());
        }
    }
}

サンプルを実行すると当サイトのURLのhttps://blog.nekonium.comのハッシュ値をSHA256(SHA-2)で計算して下記のようにコンソールに出力する。

hash: 25071def8c9caf1a9454905a2b4ee18c048c1245a6f81a7a9f14419bad8e040d

まとめ(感想文)

C#はサーバーサイドでも使えるので、サーバーサイドでハッシュ値を計算する時に使えるかもね!