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[])

Source:
RNGCryptoServiceProvider.cs
Source:
RNGCryptoServiceProvider.cs
Source:
RNGCryptoServiceProvider.cs

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);
RandomNumberGenerator^ rng = RandomNumberGenerator::Create();
rng->GetNonZeroBytes( random ); // The array is now filled with cryptographically strong random bytes, and none are zero.
byte[] random = new byte[100];

using (RandomNumberGenerator rng = RandomNumberGenerator.Create())
{
    rng.GetNonZeroBytes(random); // The array is now filled with cryptographically strong random bytes, and none are zero.
}
Dim random() As Byte = New Byte(100) {}

Using rng As RandomNumberGenerator = RandomNumberGenerator.Create()
    rng.GetNonZeroBytes(random) ' bytes in random are now random and none are zero
End Using

Remarks

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

See also

Applies to

GetNonZeroBytes(Span<Byte>)

Source:
RNGCryptoServiceProvider.cs
Source:
RNGCryptoServiceProvider.cs
Source:
RNGCryptoServiceProvider.cs

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