using System;
namespace System.Security.Cryptography
{
/// Represents the abstract class from which all implementations of cryptographic random number generators derive.
// Token: 0x02000524 RID: 1316
public abstract class RandomNumberGenerator
{
/// Creates an instance of the default implementation of a cryptographic random number generator that can be used to generate random data.
/// A new instance of a cryptographic random number generator.
///
///
///
// Token: 0x0600305C RID: 12380 RVA: 0x0009E0FC File Offset: 0x0009C2FC
public static RandomNumberGenerator Create()
{
return RandomNumberGenerator.Create("System.Security.Cryptography.RandomNumberGenerator");
}
/// Creates an instance of the specified implementation of a cryptographic random number generator.
/// A new instance of a cryptographic random number generator.
/// The name of the random number generator implementation to use.
// Token: 0x0600305D RID: 12381 RVA: 0x0009E108 File Offset: 0x0009C308
public static RandomNumberGenerator Create(string rngName)
{
return (RandomNumberGenerator)CryptoConfig.CreateFromName(rngName);
}
/// When overridden in a derived class, fills an array of bytes with a cryptographically strong random sequence of values.
/// The array to fill with cryptographically strong random bytes.
// Token: 0x0600305E RID: 12382
public abstract void GetBytes(byte[] data);
/// When overridden in a derived class, fills an array of bytes with a cryptographically strong random sequence of nonzero values.
/// The array to fill with cryptographically strong random nonzero bytes.
// Token: 0x0600305F RID: 12383
public abstract void GetNonZeroBytes(byte[] data);
}
}