using System; using System.IO; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace System.Security.Cryptography { /// Represents the base class from which all implementations of cryptographic hash algorithms must derive. // Token: 0x020003E9 RID: 1001 [Token(Token = "0x20003E9")] [ComVisible(true)] public abstract class HashAlgorithm : IDisposable, ICryptoTransform { /// Initializes a new instance of the class. // Token: 0x060021A8 RID: 8616 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x60021A8")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] protected HashAlgorithm() { } /// Gets the size, in bits, of the computed hash code. /// The size, in bits, of the computed hash code. // Token: 0x17000497 RID: 1175 // (get) Token: 0x060021A9 RID: 8617 RVA: 0x000149A0 File Offset: 0x00012BA0 [Token(Token = "0x17000497")] public virtual int HashSize { [Token(Token = "0x60021A9")] [Address(RVA = "0x3FA560", Offset = "0x3F9360", VA = "0x1803FA560", Slot = "11")] get { return 0; } } /// Gets the value of the computed hash code. /// The current value of the computed hash code. /// /// is . /// The object has already been disposed. // Token: 0x17000498 RID: 1176 // (get) Token: 0x060021AA RID: 8618 RVA: 0x00002082 File Offset: 0x00000282 [Token(Token = "0x17000498")] public virtual byte[] Hash { [Token(Token = "0x60021AA")] [Address(RVA = "0x2DAA760", Offset = "0x2DA9560", VA = "0x182DAA760", Slot = "12")] get { return null; } } /// Creates an instance of the default implementation of a hash algorithm. /// A new instance, unless the default settings have been changed using the . // Token: 0x060021AB RID: 8619 RVA: 0x00002082 File Offset: 0x00000282 [Token(Token = "0x60021AB")] [Address(RVA = "0x2DAA160", Offset = "0x2DA8F60", VA = "0x182DAA160")] public static HashAlgorithm Create() { return null; } /// Creates an instance of the specified implementation of a hash algorithm. /// The hash algorithm implementation to use. The following table shows the valid values for the parameter and the algorithms they map to. /// Parameter value /// /// Implements /// /// SHA /// /// SHA1 /// /// System.Security.Cryptography.SHA1 /// /// System.Security.Cryptography.HashAlgorithm /// /// MD5 /// /// System.Security.Cryptography.MD5 /// /// SHA256 /// /// SHA-256 /// /// System.Security.Cryptography.SHA256 /// /// SHA384 /// /// SHA-384 /// /// System.Security.Cryptography.SHA384 /// /// SHA512 /// /// SHA-512 /// /// System.Security.Cryptography.SHA512 /// /// /// A new instance of the specified hash algorithm, or if is not a valid hash algorithm. // Token: 0x060021AC RID: 8620 RVA: 0x00002082 File Offset: 0x00000282 [Token(Token = "0x60021AC")] [Address(RVA = "0x2DAA1B0", Offset = "0x2DA8FB0", VA = "0x182DAA1B0")] public static HashAlgorithm Create(string hashName) { return null; } /// Computes the hash value for the specified object. /// The input to compute the hash code for. /// The computed hash code. /// The object has already been disposed. // Token: 0x060021AD RID: 8621 RVA: 0x00002082 File Offset: 0x00000282 [Token(Token = "0x60021AD")] [Address(RVA = "0x2DA9DE0", Offset = "0x2DA8BE0", VA = "0x182DA9DE0")] public byte[] ComputeHash(Stream inputStream) { return null; } /// Computes the hash value for the specified byte array. /// The input to compute the hash code for. /// The computed hash code. /// /// is . /// The object has already been disposed. // Token: 0x060021AE RID: 8622 RVA: 0x00002082 File Offset: 0x00000282 [Token(Token = "0x60021AE")] [Address(RVA = "0x2DA9CA0", Offset = "0x2DA8AA0", VA = "0x182DA9CA0")] public byte[] ComputeHash(byte[] buffer) { return null; } /// Computes the hash value for the specified region of the specified byte array. /// The input to compute the hash code for. /// The offset into the byte array from which to begin using data. /// The number of bytes in the array to use as data. /// The computed hash code. /// /// is an invalid value. /// -or- /// length is invalid. /// /// is . /// /// is out of range. This parameter requires a non-negative number. /// The object has already been disposed. // Token: 0x060021AF RID: 8623 RVA: 0x00002082 File Offset: 0x00000282 [Token(Token = "0x60021AF")] [Address(RVA = "0x2DA9F40", Offset = "0x2DA8D40", VA = "0x182DA9F40")] public byte[] ComputeHash(byte[] buffer, int offset, int count) { return null; } /// When overridden in a derived class, gets the input block size. /// The input block size. // Token: 0x17000499 RID: 1177 // (get) Token: 0x060021B0 RID: 8624 RVA: 0x000149B8 File Offset: 0x00012BB8 [Token(Token = "0x17000499")] public virtual int InputBlockSize { [Token(Token = "0x60021B0")] [Address(RVA = "0x4100E0", Offset = "0x40EEE0", VA = "0x1804100E0", Slot = "13")] get { return 0; } } /// When overridden in a derived class, gets the output block size. /// The output block size. // Token: 0x1700049A RID: 1178 // (get) Token: 0x060021B1 RID: 8625 RVA: 0x000149D0 File Offset: 0x00012BD0 [Token(Token = "0x1700049A")] public virtual int OutputBlockSize { [Token(Token = "0x60021B1")] [Address(RVA = "0x4100E0", Offset = "0x40EEE0", VA = "0x1804100E0", Slot = "14")] get { return 0; } } /// When overridden in a derived class, gets a value indicating whether multiple blocks can be transformed. /// /// if multiple blocks can be transformed; otherwise, . // Token: 0x1700049B RID: 1179 // (get) Token: 0x060021B2 RID: 8626 RVA: 0x000149E8 File Offset: 0x00012BE8 [Token(Token = "0x1700049B")] public virtual bool CanTransformMultipleBlocks { [Token(Token = "0x60021B2")] [Address(RVA = "0x460D40", Offset = "0x45FB40", VA = "0x180460D40", Slot = "15")] get { return default(bool); } } /// Gets a value indicating whether the current transform can be reused. /// Always . // Token: 0x1700049C RID: 1180 // (get) Token: 0x060021B3 RID: 8627 RVA: 0x00014A00 File Offset: 0x00012C00 [Token(Token = "0x1700049C")] public virtual bool CanReuseTransform { [Token(Token = "0x60021B3")] [Address(RVA = "0x460D40", Offset = "0x45FB40", VA = "0x180460D40", Slot = "16")] get { return default(bool); } } /// Computes the hash value for the specified region of the input byte array and copies the specified region of the input byte array to the specified region of the output byte array. /// The input to compute the hash code for. /// 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. /// A copy of the part of the input array used to compute the hash code. /// The offset into the output byte array from which to begin writing data. /// The number of bytes written. /// /// uses an invalid value. /// -or- /// has an invalid length. /// /// is . /// /// is out of range. This parameter requires a non-negative number. /// The object has already been disposed. // Token: 0x060021B4 RID: 8628 RVA: 0x00014A18 File Offset: 0x00012C18 [Token(Token = "0x60021B4")] [Address(RVA = "0x2DAA2F0", Offset = "0x2DA90F0", VA = "0x182DAA2F0", Slot = "9")] public int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset) { return 0; } /// Computes the hash value for the specified region of the specified byte array. /// The input to compute the hash code for. /// The offset into the byte array from which to begin using data. /// The number of bytes in the byte array to use as data. /// An array that is a copy of the part of the input that is hashed. /// /// uses an invalid value. /// -or- /// has an invalid offset length. /// /// is . /// /// is out of range. This parameter requires a non-negative number. /// The object has already been disposed. // Token: 0x060021B5 RID: 8629 RVA: 0x00002082 File Offset: 0x00000282 [Token(Token = "0x60021B5")] [Address(RVA = "0x2DAA500", Offset = "0x2DA9300", VA = "0x182DAA500", Slot = "10")] public byte[] TransformFinalBlock(byte[] inputBuffer, int inputOffset, int inputCount) { return null; } /// Releases all resources used by the current instance of the class. // Token: 0x060021B6 RID: 8630 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x60021B6")] [Address(RVA = "0x2DAA280", Offset = "0x2DA9080", VA = "0x182DAA280", Slot = "4")] public void Dispose() { } /// Releases all resources used by the class. // Token: 0x060021B7 RID: 8631 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x60021B7")] [Address(RVA = "0x2DA9C60", Offset = "0x2DA8A60", VA = "0x182DA9C60")] public void Clear() { } /// 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: 0x060021B8 RID: 8632 RVA: 0x00002050 File Offset: 0x00000250 [Token(Token = "0x60021B8")] [Address(RVA = "0x2DAA240", Offset = "0x2DA9040", VA = "0x182DAA240", Slot = "17")] protected virtual void Dispose(bool disposing) { } /// Initializes an implementation of the class. // Token: 0x060021B9 RID: 8633 [Token(Token = "0x60021B9")] [Address(Slot = "18")] public abstract void Initialize(); /// When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash. /// The input to compute the hash code for. /// The offset into the byte array from which to begin using data. /// The number of bytes in the byte array to use as data. // Token: 0x060021BA RID: 8634 [Token(Token = "0x60021BA")] [Address(Slot = "19")] protected abstract void HashCore(byte[] array, int ibStart, int cbSize); /// When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object. /// The computed hash code. // Token: 0x060021BB RID: 8635 [Token(Token = "0x60021BB")] [Address(Slot = "20")] protected abstract byte[] HashFinal(); /// Represents the size, in bits, of the computed hash code. // Token: 0x04001356 RID: 4950 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4001356")] protected int HashSizeValue; /// Represents the value of the computed hash code. // Token: 0x04001357 RID: 4951 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4001357")] protected internal byte[] HashValue; /// Represents the state of the hash computation. // Token: 0x04001358 RID: 4952 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4001358")] protected int State; // Token: 0x04001359 RID: 4953 [global::Cpp2IlInjected.FieldOffset(Offset = "0x24")] [Token(Token = "0x4001359")] private bool m_bDisposed; } }