.NET Standard 2.1/.NET Core 2.1以降では、バイト配列(byte[])だけでなく、Span<byte>を引数にとるバージョンも追加されています。 これにより、バイト配列の一部分だけを乱数で埋めたり、配列以外のバイト列を乱数で埋めるといったことができます。
Random.NextBytesメソッドでバイト配列の一部分のみを乱数で満たす .NET Standard 2.1/.NET Core 2.1
Imports System
Class Sample
Shared Sub Main()
Dim nonce(15) As Byte
Dim rand As New Random()
' NextBytesを使って配列の先頭8バイトのみをランダムな値で満たす
rand.NextBytes(nonce.AsSpan(0, 8))
' 生成したnonceを表示
Console.WriteLine(BitConverter.ToString(nonce))
' 生成したnonceをBASE64形式で表示
Console.WriteLine(Convert.ToBase64String(nonce))
End Sub
End Class
実行結果の一例
06-4A-5F-76-CA-12-7E-CA-00-00-00-00-00-00-00-00 BkpfdsoSfsoAAAAAAAAAAA==