using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Security.Cryptography
{
/// Represents the abstract base class from which all classes that derive byte sequences of a specified length inherit.
// Token: 0x020003E2 RID: 994
[Token(Token = "0x20003E2")]
[ComVisible(true)]
public abstract class DeriveBytes : IDisposable
{
/// When overridden in a derived class, returns pseudo-random key bytes.
/// The number of pseudo-random key bytes to generate.
/// A byte array filled with pseudo-random key bytes.
// Token: 0x06002177 RID: 8567
[Token(Token = "0x6002177")]
[Address(Slot = "5")]
public abstract byte[] GetBytes(int cb);
/// When overridden in a derived class, resets the state of the operation.
// Token: 0x06002178 RID: 8568
[Token(Token = "0x6002178")]
[Address(Slot = "6")]
public abstract void Reset();
/// When overridden in a derived class, releases all resources used by the current instance of the class.
// Token: 0x06002179 RID: 8569 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002179")]
[Address(RVA = "0x2DA7AF0", Offset = "0x2DA68F0", VA = "0x182DA7AF0", Slot = "4")]
public void Dispose()
{
}
/// When overridden in a derived class, releases the unmanaged resources used by the class and optionally releases the managed resources.
///
/// to release both managed and unmanaged resources; to release only unmanaged resources.
// Token: 0x0600217A RID: 8570 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x600217A")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "7")]
protected virtual void Dispose(bool disposing)
{
}
/// Initializes a new instance of the class.
// Token: 0x0600217B RID: 8571 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x600217B")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected DeriveBytes()
{
}
}
}