NextBytesメソッドを使うと、バイト配列を0からByte.MaxValueまでのランダムな値で満たすことができます。 nonce値を生成したい場合などに、このメソッドを使うことができます。
Random.NextBytesメソッドでバイト配列を乱数で満たす
using System;
class Sample {
static void Main()
{
var nonce = new byte[16];
var rand = new Random();
// NextBytesを使って配列をランダムな値で満たす(16バイトのnonce値を生成する)
rand.NextBytes(nonce);
// 生成したnonceを表示
Console.WriteLine(BitConverter.ToString(nonce));
// 生成したnonceをBASE64形式で表示
Console.WriteLine(Convert.ToBase64String(nonce));
}
}
実行結果の一例
5D-DA-A5-7C-17-F5-12-FD-28-12-77-27-8C-41-33-D1 XdqlfBf1Ev0oEncnjEEz0Q==
実際にnonce値として使用する乱数の場合は、RandomNumberGeneratorクラスを使ったほうが適当な場合が多いと思われます。 RandomNumberGeneratorクラスを使ってnonce値を生成する具体例は§.乱数の生成 (GetBytes)をご覧ください。