RNGCryptoServiceProvider.GetNonZeroBytes Method

Definition

Overloads

GetNonZeroBytes(Byte[])

Fills an array of bytes with a cryptographically strong sequence of random nonzero values.

GetNonZeroBytes(Span<Byte>)

Fills a byte span with a cryptographically strong random sequence of nonzero values.

GetNonZeroBytes(Byte[])

Fills an array of bytes with a cryptographically strong sequence of random nonzero values.

public:
 override void GetNonZeroBytes(cli::array <System::Byte> ^ data);
public override void GetNonZeroBytes (byte[] data);
override this.GetNonZeroBytes : byte[] -> unit
Public Overrides Sub GetNonZeroBytes (data As Byte())

Parameters

data
Byte[]

The array to fill with a cryptographically strong sequence of random nonzero values.

Exceptions

The cryptographic service provider (CSP) cannot be acquired.

data is null.

Examples

The following code example creates a random sequence of 100 nonzero bytes and stores it in random.

array<Byte>^ random = gcnew array<Byte>(100);
//RNGCryptoServiceProvider is an implementation of a random number generator.
RNGCryptoServiceProvider^ rng = gcnew RNGCryptoServiceProvider;
rng->GetNonZeroBytes( random ); // The array is now filled with cryptographically strong random bytes, and none are zero.
byte[] random = new Byte[100];
//RNGCryptoServiceProvider is an implementation of a random number generator.
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
rng.GetNonZeroBytes(random); // The array is now filled with cryptographically strong random bytes, and none are zero.
Dim random() As Byte = New Byte(100) {}
'RNGCryptoServiceProvider is an implementation of an RNG
Dim rng As New RNGCryptoServiceProvider()
rng.GetNonZeroBytes(random) ' bytes in random are now random and none are zero

Remarks

The length of the byte array determines how many cryptographically strong random nonzero bytes are produced.

See also

GetNonZeroBytes(Span<Byte>)

Fills a byte span with a cryptographically strong random sequence of nonzero values.

public:
 override void GetNonZeroBytes(Span<System::Byte> data);
public override void GetNonZeroBytes (Span<byte> data);
override this.GetNonZeroBytes : Span<byte> -> unit
Public Overrides Sub GetNonZeroBytes (data As Span(Of Byte))

Parameters

data
Span<Byte>

The span to fill with cryptographically strong random nonzero bytes.

Applies to