using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Security.Cryptography
{
/// Represents the abstract class from which all implementations of cryptographic random number generators derive.
// Token: 0x020003F9 RID: 1017
[Token(Token = "0x20003F9")]
[ComVisible(true)]
public abstract class RandomNumberGenerator : IDisposable
{
/// Initializes a new instance of .
// Token: 0x06002221 RID: 8737 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002221")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected 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: 0x06002222 RID: 8738 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002222")]
[Address(RVA = "0x2DF3A90", Offset = "0x2DF2890", VA = "0x182DF3A90")]
public static RandomNumberGenerator Create()
{
return null;
}
/// Creates an instance of the specified implementation of a cryptographic random number generator.
/// The name of the random number generator implementation to use.
/// A new instance of a cryptographic random number generator.
// Token: 0x06002223 RID: 8739 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002223")]
[Address(RVA = "0x2DF3A00", Offset = "0x2DF2800", VA = "0x182DF3A00")]
public static RandomNumberGenerator Create(string rngName)
{
return null;
}
/// When overridden in a derived class, releases all resources used by the current instance of the class.
// Token: 0x06002224 RID: 8740 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002224")]
[Address(RVA = "0x2DF3AE0", Offset = "0x2DF28E0", VA = "0x182DF3AE0", Slot = "4")]
public void Dispose()
{
}
/// When overridden in a derived class, releases the unmanaged resources used by the and optionally releases the managed resources.
///
/// to release both managed and unmanaged resources; to release only unmanaged resources.
// Token: 0x06002225 RID: 8741 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002225")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "5")]
protected virtual void Dispose(bool disposing)
{
}
/// 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: 0x06002226 RID: 8742
[Token(Token = "0x6002226")]
[Address(Slot = "6")]
public abstract void GetBytes(byte[] data);
/// Fills the specified byte array with a cryptographically strong random sequence of values.
/// The array to fill with cryptographically strong random bytes.
/// The index of the array to start the fill operation.
/// The number of bytes to fill.
///
/// is .
///
/// or is less than 0
///
/// plus exceeds the length of .
// Token: 0x06002227 RID: 8743 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002227")]
[Address(RVA = "0x2DF3B50", Offset = "0x2DF2950", VA = "0x182DF3B50", Slot = "7")]
public virtual void GetBytes(byte[] data, int offset, int count)
{
}
/// 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: 0x06002228 RID: 8744 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002228")]
[Address(RVA = "0x2DF3D20", Offset = "0x2DF2B20", VA = "0x182DF3D20", Slot = "8")]
public virtual void GetNonZeroBytes(byte[] data)
{
}
}
}