ハッシュ値
暗号化って、全然勉強できてないな~。
今回はまずは序章ということで、参考サイトのまんま実装してみる。
何かの記事に書いてあったけど、もう MD5 はやばいそうな。
「せめて 256 バイト以上のものを利用しましょう」とあったので
試してみた。
【環境】
Visual C#: 15.5.4(2017)
Visual C#: 15.5.4(2017)
SHA256
行け!偏差値40プログラマー:[ C# ] SHA256 で文字列のハッシュ値を計算・取得する
// 文字列のハッシュ値(SHA256)を計算・取得する
protected string _GetHashedTextString(string passwd)
{
// パスワードをUTF-8エンコードでバイト配列として取り出す
byte[] byteValues = Encoding.UTF8.GetBytes(passwd);
// SHA256のハッシュ値を計算する
SHA256 crypto256 = new SHA256CryptoServiceProvider();
byte[] hash256Value = crypto256.ComputeHash(byteValues);
// SHA256の計算結果をUTF8で文字列として取り出す
StringBuilder hashedText = new StringBuilder();
for (int i = 0; i < hash256Value.Length; i++)
{
// 16進の数値を文字列として取り出す
hashedText.AppendFormat("{0:X2}", hash256Value[i]);
}
return hashedText.ToString().ToLower();
}
ほぼ、上記サイトからいただいてきたんだけど
18行目だけ。
そもそものハッシュ値を、
Good-Tool.net:ハッシュ値の一括計算・生成ツール(無料)
で生成したため、ToLower だけ追加した。