using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Security.Cryptography
{
/// Defines the basic operations of cryptographic transformations.
// Token: 0x0200040D RID: 1037
[Token(Token = "0x200040D")]
[ComVisible(true)]
public interface ICryptoTransform : IDisposable
{
/// Gets the input block size.
/// The size of the input data blocks in bytes.
// Token: 0x1700051B RID: 1307
// (get) Token: 0x060023EB RID: 9195
[Token(Token = "0x1700051B")]
int InputBlockSize
{
[Token(Token = "0x60023EB")]
[Address(Slot = "0")]
get;
}
/// Gets the output block size.
/// The size of the output data blocks in bytes.
// Token: 0x1700051C RID: 1308
// (get) Token: 0x060023EC RID: 9196
[Token(Token = "0x1700051C")]
int OutputBlockSize
{
[Token(Token = "0x60023EC")]
[Address(Slot = "1")]
get;
}
/// Gets a value indicating whether multiple blocks can be transformed.
///
/// if multiple blocks can be transformed; otherwise, .
// Token: 0x1700051D RID: 1309
// (get) Token: 0x060023ED RID: 9197
[Token(Token = "0x1700051D")]
bool CanTransformMultipleBlocks
{
[Token(Token = "0x60023ED")]
[Address(Slot = "2")]
get;
}
/// Gets a value indicating whether the current transform can be reused.
///
/// if the current transform can be reused; otherwise, .
// Token: 0x1700051E RID: 1310
// (get) Token: 0x060023EE RID: 9198
[Token(Token = "0x1700051E")]
bool CanReuseTransform
{
[Token(Token = "0x60023EE")]
[Address(Slot = "3")]
get;
}
/// Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array.
/// The input for which to compute the transform.
/// The offset into the input byte array from which to begin using data.
/// The number of bytes in the input byte array to use as data.
/// The output to which to write the transform.
/// The offset into the output byte array from which to begin writing data.
/// The number of bytes written.
// Token: 0x060023EF RID: 9199
[Token(Token = "0x60023EF")]
[Address(Slot = "4")]
int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset);
/// Transforms the specified region of the specified byte array.
/// The input for which to compute the transform.
/// The offset into the byte array from which to begin using data.
/// The number of bytes in the byte array to use as data.
/// The computed transform.
// Token: 0x060023F0 RID: 9200
[Token(Token = "0x60023F0")]
[Address(Slot = "5")]
byte[] TransformFinalBlock(byte[] inputBuffer, int inputOffset, int inputCount);
}
}