Files
2026-04-08 23:40:05 +02:00

588 lines
22 KiB
C#

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
{
// Token: 0x02001703 RID: 5891
[Token(Token = "0x2001703")]
[StructLayout(3)]
public class Blake2bDigest : IDigest
{
// Token: 0x06009E25 RID: 40485 RVA: 0x00244810 File Offset: 0x00242A10
[Token(Token = "0x6009E25")]
[Address(RVA = "0x2174670", Offset = "0x2173070", VA = "0x182174670")]
public Blake2bDigest()
{
this.digestLength = (int)((ulong)64L);
ulong[] array = new ulong[16];
this.internalState = array;
base..ctor();
byte[] array2 = new byte[128];
this.buffer = array2;
this.digestLength = (int)((ulong)64L);
this.Init();
}
// Token: 0x06009E26 RID: 40486 RVA: 0x00244860 File Offset: 0x00242A60
[Token(Token = "0x6009E26")]
[Address(RVA = "0x21746F0", Offset = "0x21730F0", VA = "0x1821746F0")]
public Blake2bDigest(Blake2bDigest digest)
{
this.digestLength = (int)((ulong)64L);
ulong[] array = new ulong[16];
this.internalState = array;
base..ctor();
int num = digest.bufferPos;
this.bufferPos = num;
byte[] array2 = Arrays.Clone(digest.buffer);
this.buffer = array2;
int num2 = digest.keyLength;
this.keyLength = num2;
byte[] array3 = Arrays.Clone(digest.key);
this.key = array3;
int num3 = digest.digestLength;
this.digestLength = num3;
ulong[] array4 = Arrays.Clone(digest.chainValue);
this.chainValue = array4;
byte[] array5 = Arrays.Clone(digest.personalization);
this.personalization = array5;
byte[] array6 = Arrays.Clone(digest.salt);
this.salt = array6;
ulong num4 = digest.t0;
this.t0 = num4;
ulong num5 = digest.t1;
this.t1 = num5;
ulong num6 = digest.f0;
this.f0 = num6;
}
// Token: 0x06009E27 RID: 40487 RVA: 0x00244958 File Offset: 0x00242B58
[Token(Token = "0x6009E27")]
[Address(RVA = "0x2174590", Offset = "0x2172F90", VA = "0x182174590")]
public Blake2bDigest(int digestSize)
{
/*
An exception occurred when decompiling this method (06009E27)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2bDigest::.ctor(System.Int32)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_5A:
stloc:ArgumentException(var_5_64, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("BLAKE2b digest bit length must be a multiple of 8 and not greater than 512")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x06009E28 RID: 40488 RVA: 0x002449CC File Offset: 0x00242BCC
[Token(Token = "0x6009E28")]
[Address(RVA = "0x2174470", Offset = "0x2172E70", VA = "0x182174470")]
public Blake2bDigest(byte[] key)
{
this.digestLength = (int)((ulong)64L);
ulong[] array = new ulong[16];
this.internalState = array;
base..ctor();
byte[] array2 = new byte[128];
this.buffer = array2;
if (key != 0)
{
byte[] array3 = new byte[key.Length];
this.key = array3;
int num = 0;
int length = key.Length;
int num2 = 0;
Array.Copy(key, num2, array3, num, length);
int length2 = key.Length;
byte[] array4 = this.buffer;
int num3 = 0;
this.keyLength = length2;
int num4 = 0;
int length3 = key.Length;
Array.Copy(key, num4, array4, num3, length3);
this.bufferPos = (int)((ulong)128L);
}
this.digestLength = (int)((ulong)64L);
this.Init();
}
// Token: 0x06009E29 RID: 40489 RVA: 0x00244A98 File Offset: 0x00242C98
[Token(Token = "0x6009E29")]
[Address(RVA = "0x2174800", Offset = "0x2173200", VA = "0x182174800")]
public Blake2bDigest(byte[] key, int digestLength, byte[] salt, byte[] personalization)
{
/*
An exception occurred when decompiling this method (06009E29)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.Blake2bDigest::.ctor(System.Byte[],System.Int32,System.Byte[],System.Byte[])
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_118:
stloc:ArgumentException(var_19_122, newobj:ArgumentException(ArgumentException::.ctor, ldstr:string("salt length must be exactly 16 bytes")))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x06009E2A RID: 40490 RVA: 0x00244BC8 File Offset: 0x00242DC8
[Token(Token = "0x6009E2A")]
[Address(RVA = "0x2173B50", Offset = "0x2172550", VA = "0x182173B50")]
private void Init()
{
if (this.chainValue == (ulong)0L)
{
ulong[] array = new ulong[8];
this.chainValue = array;
ulong[] array2 = Blake2bDigest.blake2b_IV;
int num = this.keyLength;
array[0] = (ulong)num;
ulong[] array3 = this.chainValue;
ulong num2 = Blake2bDigest.blake2b_IV[1];
array3[1] = num2;
ulong[] array4 = this.chainValue;
ulong num3 = Blake2bDigest.blake2b_IV[2];
array4[2] = num3;
ulong[] array5 = this.chainValue;
ulong num4 = Blake2bDigest.blake2b_IV[3];
array5[3] = num4;
ulong[] array6 = this.chainValue;
ulong num5 = Blake2bDigest.blake2b_IV[4];
array6[4] = num5;
ulong[] array7 = this.chainValue;
ulong num6 = Blake2bDigest.blake2b_IV[5];
array7[5] = num6;
byte[] array8 = this.salt;
if (array8 != 0)
{
ulong[] array9 = this.chainValue;
int num7 = 0;
ulong num8 = Pack.LE_To_UInt64(array8, num7);
array9[4] = num8;
ulong[] array10 = this.chainValue;
ulong num9 = Pack.LE_To_UInt64(this.salt, 8);
array10[5] = num9;
}
ulong[] array11 = this.chainValue;
ulong num10 = Blake2bDigest.blake2b_IV[6];
array11[6] = num10;
ulong[] array12 = this.chainValue;
ulong num11 = Blake2bDigest.blake2b_IV[7];
array12[7] = num11;
byte[] array13 = this.personalization;
if (array13 != 0)
{
ulong[] array14 = this.chainValue;
int num12 = 0;
ulong num13 = Pack.LE_To_UInt64(array13, num12);
array14[6] = num13;
ulong[] array15 = this.chainValue;
ulong num14 = Pack.LE_To_UInt64(this.personalization, 8);
array15[7] = num14;
}
}
}
// Token: 0x06009E2B RID: 40491 RVA: 0x00244D80 File Offset: 0x00242F80
[Token(Token = "0x6009E2B")]
[Address(RVA = "0x2174030", Offset = "0x2172A30", VA = "0x182174030")]
private void InitializeInternalState()
{
ulong[] array = this.chainValue;
int length = array.Length;
int num = 0;
ulong[] array2 = this.internalState;
int num2 = 0;
Array.Copy(array, num2, array2, num, length);
ulong[] array3 = this.chainValue;
int num3 = 0;
int length2 = array3.Length;
ulong[] array4 = this.internalState;
ulong num4;
Array.Copy(Blake2bDigest.blake2b_IV, num3, array4, length2, (int)num4);
ulong[] array5 = this.internalState;
ulong num5 = Blake2bDigest.blake2b_IV[4];
array5[12] = num5;
ulong[] array6 = this.internalState;
ulong num6 = Blake2bDigest.blake2b_IV[5];
array6[13] = num6;
ulong[] array7 = this.internalState;
ulong num7 = Blake2bDigest.blake2b_IV[6];
array7[14] = num7;
ulong[] array8 = this.internalState;
ulong num8 = Blake2bDigest.blake2b_IV[7];
array8[15] = num8;
}
// Token: 0x06009E2C RID: 40492 RVA: 0x00244E68 File Offset: 0x00243068
[Token(Token = "0x6009E2C")]
[Address(RVA = "0x2174300", Offset = "0x2172D00", VA = "0x182174300", Slot = "11")]
public virtual void Update(byte b)
{
int num = this.bufferPos;
uint num2;
byte[] array;
if (num2 != (uint)num)
{
array = this.buffer;
return;
}
if (num == array.Length)
{
}
byte[] array2 = this.buffer;
int num3 = 0;
this.Compress(array2, num3);
byte[] array3 = this.buffer;
int length = array3.Length;
int num4 = 0;
Array.Clear(array3, num4, length);
this.buffer[0] = b;
this.bufferPos = (int)((ulong)1L);
}
// Token: 0x06009E2D RID: 40493 RVA: 0x00244EE0 File Offset: 0x002430E0
[Token(Token = "0x6009E2D")]
[Address(RVA = "0x2172C20", Offset = "0x2171620", VA = "0x182172C20", Slot = "12")]
public virtual void BlockUpdate(byte[] message, int offset, int len)
{
if (message != 0 && len != 0)
{
int num = this.bufferPos;
int num2 = 0;
if (num != 0)
{
byte[] array = this.buffer;
uint num3;
num3 -= (uint)num;
Array.Copy(message, offset, array, num, len);
Array.Copy(message, offset, array, num, (int)num3);
if (num3 == (uint)len)
{
}
byte[] array2 = this.buffer;
int num4 = 0;
this.Compress(array2, num4);
byte[] array3 = this.buffer;
this.bufferPos = num2;
int length = array3.Length;
int num5 = 0;
Array.Clear(array3, num5, length);
}
num2 += offset;
this.Compress(message, num2);
byte[] array4 = this.buffer;
int num6 = 0;
Array.Copy(message, num2, array4, num6, offset);
}
}
// Token: 0x06009E2E RID: 40494 RVA: 0x00244F90 File Offset: 0x00243190
[Token(Token = "0x6009E2E")]
[Address(RVA = "0x2173590", Offset = "0x2171F90", VA = "0x182173590", Slot = "13")]
public virtual int DoFinal(byte[] output, int outOffset)
{
int num = this.bufferPos;
this.f0 = (ulong)(-1L);
this.t0 = (ulong)num;
if (num <= 0 || num == 0)
{
}
byte[] array = this.buffer;
int num2 = 0;
this.Compress(array, num2);
byte[] array2 = this.buffer;
int length = array2.Length;
int num3 = 0;
Array.Clear(array2, num3, length);
ulong[] array3 = this.internalState;
int length2 = array3.Length;
int num4 = 0;
Array.Clear(array3, num4, length2);
ulong[] array4 = this.chainValue;
int num5 = 0;
ulong[] array6;
if (num5 < array4.Length && num5 < this.digestLength)
{
byte[] array5 = Pack.UInt64_To_LE(array4[num5]);
int num6 = this.digestLength;
num6 -= num5;
int num7 = 0;
uint num8;
Array.Copy(array5, num7, output, 0, (int)num8);
array6 = this.chainValue;
num5++;
num5 += 8;
}
int length3 = array6.Length;
int num9 = 0;
Array.Clear(array6, num9, length3);
return this.digestLength;
}
// Token: 0x06009E2F RID: 40495 RVA: 0x00245090 File Offset: 0x00243290
[Token(Token = "0x6009E2F")]
[Address(RVA = "0x2174280", Offset = "0x2172C80", VA = "0x182174280", Slot = "14")]
public virtual void Reset()
{
int num = 0;
this.bufferPos = num;
this.f0 = (ulong)num;
this.t0 = (ulong)num;
this.t1 = (ulong)num;
this.chainValue = num;
byte[] array = this.buffer;
int length = array.Length;
int num2 = 0;
Array.Clear(array, num2, length);
byte[] array2 = this.key;
if (array2 != 0)
{
int length2 = array2.Length;
int num3 = 0;
byte[] array3 = this.buffer;
int num4 = 0;
Array.Copy(array2, num4, array3, num3, length2);
this.bufferPos = (int)((ulong)128L);
}
this.Init();
}
// Token: 0x06009E30 RID: 40496 RVA: 0x00245128 File Offset: 0x00243328
[Token(Token = "0x6009E30")]
[Address(RVA = "0x2172DE0", Offset = "0x21717E0", VA = "0x182172DE0")]
private void Compress(byte[] message, int messagePos)
{
this.InitializeInternalState();
ulong[] array = new ulong[16];
int num = 0;
ulong num2 = Pack.LE_To_UInt64(message, messagePos);
num++;
array[0] = num2;
byte[,] array2 = Blake2bDigest.blake2b_sigma;
throw new IndexOutOfRangeException();
}
// Token: 0x06009E31 RID: 40497 RVA: 0x00245394 File Offset: 0x00243594
[Token(Token = "0x6009E31")]
[Address(RVA = "0x2173710", Offset = "0x2172110", VA = "0x182173710")]
private void G(ulong m1, ulong m2, int posA, int posB, int posC, int posD)
{
ulong[] array = this.internalState;
int length = array.Length;
ulong num;
ulong num2;
num += num2;
num += m1;
int length2 = this.internalState.Length;
ulong num3;
array.m_value = num3;
ulong[] array2 = this.internalState;
int length3 = array2.Length;
ulong num4;
ulong num5;
num4 += num5;
array2[0] = num4;
int length4 = this.internalState.Length;
int length5 = this.internalState.Length;
ulong num6;
ulong num7;
num6 += num7;
int length6 = this.internalState.Length;
ulong num8;
array.m_value = num8;
ulong[] array3 = this.internalState;
int length7 = array3.Length;
ulong num9;
ulong num10;
num9 += num10;
array3[0] = num9;
int length8 = this.internalState.Length;
ulong num11;
num11 += num11;
}
// Token: 0x06009E32 RID: 40498 RVA: 0x00245460 File Offset: 0x00243660
[Token(Token = "0x6009E32")]
[Address(RVA = "0x706530", Offset = "0x704F30", VA = "0x180706530")]
private static ulong Rotr64(ulong x, int rot)
{
return x;
}
// Token: 0x17001907 RID: 6407
// (get) Token: 0x06009E33 RID: 40499 RVA: 0x00245470 File Offset: 0x00243670
[Token(Token = "0x17001907")]
public virtual string AlgorithmName
{
[Token(Token = "0x6009E33")]
[Address(RVA = "0x2174A60", Offset = "0x2173460", VA = "0x182174A60", Slot = "15")]
get
{
return "BLAKE2b";
}
}
// Token: 0x06009E34 RID: 40500 RVA: 0x00245484 File Offset: 0x00243684
[Token(Token = "0x6009E34")]
[Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50", Slot = "16")]
public virtual int GetDigestSize()
{
return this.digestLength;
}
// Token: 0x06009E35 RID: 40501 RVA: 0x00245498 File Offset: 0x00243698
[Token(Token = "0x6009E35")]
[Address(RVA = "0x2173B40", Offset = "0x2172540", VA = "0x182173B40", Slot = "17")]
public virtual int GetByteLength()
{
return 128;
}
// Token: 0x06009E36 RID: 40502 RVA: 0x002454AC File Offset: 0x002436AC
[Token(Token = "0x6009E36")]
[Address(RVA = "0x2172D70", Offset = "0x2171770", VA = "0x182172D70", Slot = "18")]
public virtual void ClearKey()
{
byte[] array = this.key;
if (array != 0)
{
int length = array.Length;
int num = 0;
Array.Clear(array, num, length);
byte[] array2 = this.buffer;
int length2 = array2.Length;
int num2 = 0;
Array.Clear(array2, num2, length2);
return;
}
}
// Token: 0x06009E37 RID: 40503 RVA: 0x002454F8 File Offset: 0x002436F8
[Token(Token = "0x6009E37")]
[Address(RVA = "0x2172DC0", Offset = "0x21717C0", VA = "0x182172DC0", Slot = "19")]
public virtual void ClearSalt()
{
byte[] array = this.salt;
if (array != 0)
{
int length = array.Length;
int num = 0;
Array.Clear(array, num, length);
return;
}
}
// Token: 0x06009E38 RID: 40504 RVA: 0x00245524 File Offset: 0x00243724
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x6009E38")]
[Address(RVA = "0x21743C0", Offset = "0x2172DC0", VA = "0x1821743C0")]
static Blake2bDigest()
{
ulong[] array = new ulong[8];
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.22F13A28C218AA9B43303043F2CF664790D12BD7).FieldHandle);
Blake2bDigest.blake2b_IV = array;
RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.DB8FE39060DF4E7BC9CC190D08EFF78F0C61F289).FieldHandle);
Blake2bDigest.blake2b_sigma = array;
}
// Token: 0x040067FD RID: 26621
[Token(Token = "0x40067FD")]
private static readonly ulong[] blake2b_IV;
// Token: 0x040067FE RID: 26622
[Token(Token = "0x40067FE")]
private static readonly byte[,] blake2b_sigma;
// Token: 0x040067FF RID: 26623
[Token(Token = "0x40067FF")]
private const int ROUNDS = 12;
// Token: 0x04006800 RID: 26624
[Token(Token = "0x4006800")]
private const int BLOCK_LENGTH_BYTES = 128;
// Token: 0x04006801 RID: 26625
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4006801")]
private int digestLength;
// Token: 0x04006802 RID: 26626
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
[Token(Token = "0x4006802")]
private int keyLength;
// Token: 0x04006803 RID: 26627
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4006803")]
private byte[] salt;
// Token: 0x04006804 RID: 26628
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4006804")]
private byte[] personalization;
// Token: 0x04006805 RID: 26629
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4006805")]
private byte[] key;
// Token: 0x04006806 RID: 26630
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4006806")]
private byte[] buffer;
// Token: 0x04006807 RID: 26631
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4006807")]
private int bufferPos;
// Token: 0x04006808 RID: 26632
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4006808")]
private ulong[] internalState;
// Token: 0x04006809 RID: 26633
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4006809")]
private ulong[] chainValue;
// Token: 0x0400680A RID: 26634
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x400680A")]
private ulong t0;
// Token: 0x0400680B RID: 26635
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x400680B")]
private ulong t1;
// Token: 0x0400680C RID: 26636
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x400680C")]
private ulong f0;
}
}