生成される乱数に0が含まれないようにしたい場合は、GetNonZeroBytesメソッドを使うことができます。
RandomNumberGenerator.GetNonZeroBytesメソッドでバイト配列を非ゼロの乱数で満たす
      Imports System
Imports System.Security.Cryptography
Class Sample
  Shared Sub Main()
    Using rng As RandomNumberGenerator = RandomNumberGenerator.Create()
      ' RandomNumberGeneratorを使って0を含まない、16バイトのnonce値を3個生成する
      Dim nonce(15) As Byte
      For i As Integer = 1 To 3
        rng.GetNonZeroBytes(nonce)
        Console.WriteLine(BitConverter.ToString(nonce))
      Next
    End Using
  End Sub
End Class
       
      実行結果の一例
      FE-E5-5B-48-5F-4C-8E-8A-1C-AE-58-51-A2-8C-E4-A0 2C-69-84-60-A9-67-B1-27-CD-BA-23-68-57-A0-D3-CE 01-81-99-64-30-52-67-2F-41-95-0A-A0-F8-39-A7-07