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

Applies to

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