Ⅰ. はじめに
Rfc2898DeriveBytes のデフォルトは HMACSHA1(HashAlgorithmName.SHA1)です。
任意のハッシュアルゴリズムとして以下が指定可能です。
- HashAlgorithmName.MD5
- HashAlgorithmName.SHA1
- HashAlgorithmName.SHA256
- HashAlgorithmName.SHA384
- HashAlgorithmName.SHA512
Ⅲ. サンプルプログラム
using System.Security.Cryptography;
var password = "mypassword";
var salt = Encoding.ASCII.GetBytes("12345678");
var iterations = 1024;
var hashAlgorithm = HashAlgorithmName.SHA256;
using var deriveBytes = new Rfc2898DeriveBytes(password, salt, iterations, hashAlgorithm);
var bytes = deriveBytes.GetBytes(16);
Console.WriteLine(BitConverter.ToString(bytes));
実行結果
8D-F1-59-A5-46-88-F9-A2-3E-56-2A-FE-CB-8F-5B-73