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: 0x020003FE RID: 1022
[Token(Token = "0x20003FE")]
[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: 0x06002383 RID: 9091
[Token(Token = "0x6002383")]
[Address(Slot = "5")]
public abstract byte[] GetBytes(int cb);
/// When overridden in a derived class, resets the state of the operation.
// Token: 0x06002384 RID: 9092
[Token(Token = "0x6002384")]
[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: 0x06002385 RID: 9093 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002385")]
[Address(RVA = "0xC097D0", Offset = "0xC087D0", VA = "0x180C097D0", 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: 0x06002386 RID: 9094 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002386")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "7")]
protected virtual void Dispose(bool disposing)
{
}
/// Initializes a new instance of the class.
// Token: 0x06002387 RID: 9095 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002387")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
protected DeriveBytes()
{
}
}
}