using System; using System.Runtime.InteropServices; namespace System.Security.Cryptography { /// Performs a cryptographic transformation of data using the Rijndael algorithm. This class cannot be inherited. // Token: 0x02000529 RID: 1321 [ComVisible(true)] public sealed class RijndaelManagedTransform : IDisposable, ICryptoTransform { // Token: 0x0600307F RID: 12415 RVA: 0x000A5D80 File Offset: 0x000A3F80 internal RijndaelManagedTransform(Rijndael algo, bool encryption, byte[] key, byte[] iv) { this._st = new RijndaelTransform(algo, encryption, key, iv); this._bs = algo.BlockSize; } /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. // Token: 0x06003080 RID: 12416 RVA: 0x000A5DB0 File Offset: 0x000A3FB0 void IDisposable.Dispose() { this._st.Clear(); } /// Gets the block size. /// The size of the data blocks in bytes. // Token: 0x17000986 RID: 2438 // (get) Token: 0x06003081 RID: 12417 RVA: 0x000A5DC0 File Offset: 0x000A3FC0 public int BlockSizeValue { get { return this._bs; } } /// Gets a value indicating whether multiple blocks can be transformed. /// true if multiple blocks can be transformed; otherwise, false. // Token: 0x17000987 RID: 2439 // (get) Token: 0x06003082 RID: 12418 RVA: 0x000A5DC8 File Offset: 0x000A3FC8 public bool CanTransformMultipleBlocks { get { return this._st.CanTransformMultipleBlocks; } } /// Gets a value indicating whether the current transform can be reused. /// Always true. // Token: 0x17000988 RID: 2440 // (get) Token: 0x06003083 RID: 12419 RVA: 0x000A5DD8 File Offset: 0x000A3FD8 public bool CanReuseTransform { get { return this._st.CanReuseTransform; } } /// Gets the input block size. /// The size of the input data blocks in bytes. // Token: 0x17000989 RID: 2441 // (get) Token: 0x06003084 RID: 12420 RVA: 0x000A5DE8 File Offset: 0x000A3FE8 public int InputBlockSize { get { return this._st.InputBlockSize; } } /// Gets the output block size. /// The size of the output data blocks in bytes. // Token: 0x1700098A RID: 2442 // (get) Token: 0x06003085 RID: 12421 RVA: 0x000A5DF8 File Offset: 0x000A3FF8 public int OutputBlockSize { get { return this._st.OutputBlockSize; } } /// Releases all resources used by the class. // Token: 0x06003086 RID: 12422 RVA: 0x000A5E08 File Offset: 0x000A4008 public void Clear() { this._st.Clear(); } /// Resets the internal state of so it can be used again to do a different encryption or decryption. // Token: 0x06003087 RID: 12423 RVA: 0x000A5E18 File Offset: 0x000A4018 [MonoTODO("Reset does nothing since CanReuseTransform return false.")] public void Reset() { } /// Computes the transformation for the specified region of the input byte array and copies the resulting transformation to the specified region of the output byte array. /// The number of bytes written. /// The input to perform the operation on. /// The offset into the input byte array to begin using data from. /// The number of bytes in the input byte array to use as data. /// The output to write the data to. /// The offset into the output byte array to begin writing data from. /// The parameter is null.-or- The parameter is null. /// The length of the input buffer is less than the sum of the input offset and the input count. -or-The value of the parameter is less than or equal to 0.-or-The value of the parameter is greater than the length of the parameter.-or-The length of the parameter is not evenly devisable by input block size. /// The value of the parameter is negative. // Token: 0x06003088 RID: 12424 RVA: 0x000A5E1C File Offset: 0x000A401C public int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset) { return this._st.TransformBlock(inputBuffer, inputOffset, inputCount, outputBuffer, outputOffset); } /// Computes the transformation for the specified region of the specified byte array. /// The computed transformation. /// The input to perform the operation on. /// The offset into the byte array to begin using data from. /// The number of bytes in the byte array to use as data. /// The parameter is null. /// The value of the parameter is less than 0.-or-The value of the parameter is grater than the length of parameter. /// The value of the parameter is negative. /// The length of the parameter is not evenly devisable by input block size. // Token: 0x06003089 RID: 12425 RVA: 0x000A5E30 File Offset: 0x000A4030 public byte[] TransformFinalBlock(byte[] inputBuffer, int inputOffset, int inputCount) { return this._st.TransformFinalBlock(inputBuffer, inputOffset, inputCount); } // Token: 0x040013C5 RID: 5061 private RijndaelTransform _st; // Token: 0x040013C6 RID: 5062 private int _bs; } }