Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Digests/MD5Digest.cs
T
2026-04-08 23:40:05 +02:00

348 lines
11 KiB
C#

using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Math.EC.Rfc8032;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
{
// Token: 0x0200170F RID: 5903
[Token(Token = "0x200170F")]
[StructLayout(3)]
public class MD5Digest : GeneralDigest
{
// Token: 0x06009EF8 RID: 40696 RVA: 0x0024B144 File Offset: 0x00249344
[Token(Token = "0x6009EF8")]
[Address(RVA = "0x2241BC0", Offset = "0x22405C0", VA = "0x182241BC0")]
public MD5Digest()
{
uint[] array = new uint[16];
this.X = array;
base..ctor();
IMemoable memoable = ((IMemoable)this).Copy();
}
// Token: 0x06009EF9 RID: 40697 RVA: 0x0024B170 File Offset: 0x00249370
[Token(Token = "0x6009EF9")]
[Address(RVA = "0x2241C20", Offset = "0x2240620", VA = "0x182241C20")]
public MD5Digest(MD5Digest t)
{
uint[] array = new uint[16];
this.X = array;
base..ctor(t);
this.CopyIn(t);
}
// Token: 0x06009EFA RID: 40698 RVA: 0x0024B19C File Offset: 0x0024939C
[Token(Token = "0x6009EFA")]
[Address(RVA = "0x2240580", Offset = "0x223EF80", VA = "0x182240580")]
private void CopyIn(MD5Digest t)
{
base.CopyIn(t);
uint h = t.H1;
this.H1 = h;
uint h2 = t.H2;
this.H2 = h2;
uint h3 = t.H3;
this.H3 = h3;
uint h4 = t.H4;
this.H4 = h4;
uint[] x = t.X;
int length = x.Length;
int num = 0;
uint[] x2 = this.X;
int num2 = 0;
Array.Copy(x, num2, x2, num, length);
int num3 = t.xOff;
this.xOff = num3;
}
// Token: 0x17001913 RID: 6419
// (get) Token: 0x06009EFB RID: 40699 RVA: 0x0024B22C File Offset: 0x0024942C
[Token(Token = "0x17001913")]
public override string AlgorithmName
{
[Token(Token = "0x6009EFB")]
[Address(RVA = "0x2241C90", Offset = "0x2240690", VA = "0x182241C90", Slot = "17")]
get
{
return "MD5";
}
}
// Token: 0x06009EFC RID: 40700 RVA: 0x0024B240 File Offset: 0x00249440
[Token(Token = "0x6009EFC")]
[Address(RVA = "0x11B1BB0", Offset = "0x11B05B0", VA = "0x1811B1BB0", Slot = "18")]
public override int GetDigestSize()
{
return 16;
}
// Token: 0x06009EFD RID: 40701 RVA: 0x0024B250 File Offset: 0x00249450
[Token(Token = "0x6009EFD")]
[Address(RVA = "0x2241880", Offset = "0x2240280", VA = "0x182241880", Slot = "14")]
internal override void ProcessWord(byte[] input, int inOff)
{
uint[] x = this.X;
int num = this.xOff;
x[0] = (uint)inOff;
int num2 = this.xOff;
num2++;
this.xOff = num2;
if (num2 == 16)
{
}
}
// Token: 0x06009EFE RID: 40702 RVA: 0x0024B290 File Offset: 0x00249490
[Token(Token = "0x6009EFE")]
[Address(RVA = "0x2241790", Offset = "0x2240190", VA = "0x182241790", Slot = "15")]
internal override void ProcessLength(long bitLength)
{
int num = this.xOff;
int num2 = 0;
if (num > 14 && num == 15)
{
this.X[7] = (uint)num2;
}
int num3 = this.xOff;
if (num3 < 14)
{
uint[] x = this.X;
num3++;
x[0] = (uint)num2;
}
this.X[7] = (uint)bitLength;
this.X[7] = (uint)bitLength;
}
// Token: 0x06009EFF RID: 40703 RVA: 0x0024B300 File Offset: 0x00249500
[Token(Token = "0x6009EFF")]
[Address(RVA = "0x22406A0", Offset = "0x223F0A0", VA = "0x1822406A0", Slot = "19")]
public override int DoFinal(byte[] output, int outOff)
{
base.Finish();
Ed25519.Encode32(this.H1, output, outOff);
Ed25519.Encode32(this.H2, output, outOff);
Ed25519.Encode32(this.H3, output, outOff);
Ed25519.Encode32(this.H4, output, outOff);
return 16;
}
// Token: 0x06009F00 RID: 40704 RVA: 0x0024B34C File Offset: 0x0024954C
[Token(Token = "0x6009F00")]
[Address(RVA = "0x2241910", Offset = "0x2240310", VA = "0x182241910", Slot = "13")]
public override void Reset()
{
base.Reset();
uint[] x = this.X;
int num = 0;
this.H1 = (uint)((ulong)1732584193L);
this.H2 = (uint)((ulong)4023233417L);
this.H3 = (uint)((ulong)2562383102L);
this.H4 = (uint)((ulong)271733878L);
this.xOff = num;
if (num != x.Length)
{
num++;
x[0] = (uint)num;
uint[] x2 = this.X;
}
}
// Token: 0x06009F01 RID: 40705 RVA: 0x0024B3CC File Offset: 0x002495CC
[Token(Token = "0x6009F01")]
[Address(RVA = "0x21009B0", Offset = "0x20FF3B0", VA = "0x1821009B0")]
private static uint RotateLeft(uint x, int n)
{
return x;
}
// Token: 0x06009F02 RID: 40706 RVA: 0x0024B3DC File Offset: 0x002495DC
[Token(Token = "0x6009F02")]
[Address(RVA = "0xA94430", Offset = "0xA92E30", VA = "0x180A94430")]
private static uint F(uint u, uint v, uint w)
{
return u;
}
// Token: 0x06009F03 RID: 40707 RVA: 0x0024B3EC File Offset: 0x002495EC
[Token(Token = "0x6009F03")]
[Address(RVA = "0xA94470", Offset = "0xA92E70", VA = "0x180A94470")]
private static uint G(uint u, uint v, uint w)
{
return w;
}
// Token: 0x06009F04 RID: 40708 RVA: 0x0024B3FC File Offset: 0x002495FC
[Token(Token = "0x6009F04")]
[Address(RVA = "0xA94420", Offset = "0xA92E20", VA = "0x180A94420")]
private static uint H(uint u, uint v, uint w)
{
return u;
}
// Token: 0x06009F05 RID: 40709 RVA: 0x0024B40C File Offset: 0x0024960C
[Token(Token = "0x6009F05")]
[Address(RVA = "0x2240730", Offset = "0x223F130", VA = "0x182240730")]
private static uint K(uint u, uint v, uint w)
{
return w;
}
// Token: 0x06009F06 RID: 40710 RVA: 0x0024B41C File Offset: 0x0024961C
[Token(Token = "0x6009F06")]
[Address(RVA = "0x2240740", Offset = "0x223F140", VA = "0x182240740", Slot = "16")]
internal override void ProcessBlock()
{
uint h = this.H2;
uint[] x = this.X;
int length = x.Length;
int num = MD5Digest.S21;
uint num2 = x[7];
num += -2022574463;
}
// Token: 0x06009F07 RID: 40711 RVA: 0x0024B45C File Offset: 0x0024965C
[Token(Token = "0x6009F07")]
[Address(RVA = "0x2240600", Offset = "0x223F000", VA = "0x182240600", Slot = "20")]
public override IMemoable Copy()
{
/*
An exception occurred when decompiling this method (06009F07)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IMemoable BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests.MD5Digest::Copy()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:MD5Digest(var_0_06, newobj:MD5Digest(MD5Digest::.ctor, ldloc:MD5Digest(this)))
stloc:uint32[](var_1_0E, newarr:uint32[]([mscorlib]System.UInt32, ldc.i4:int32(16)))
stfld:uint32[](MD5Digest::X, ldloc:MD5Digest(var_0_06), ldloc:uint32[](var_1_0E))
call:void(MD5Digest::CopyIn, ldloc:MD5Digest(var_0_06), ldloc:MD5Digest(this))
}
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: 0x06009F08 RID: 40712 RVA: 0x0024B488 File Offset: 0x00249688
[Token(Token = "0x6009F08")]
[Address(RVA = "0x22419A0", Offset = "0x22403A0", VA = "0x1822419A0", Slot = "21")]
public override void Reset(IMemoable other)
{
do
{
if (other == 0)
{
}
}
while (other == 0);
}
// Token: 0x04006888 RID: 26760
[Token(Token = "0x4006888")]
private const int DigestLength = 16;
// Token: 0x04006889 RID: 26761
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4006889")]
private uint H1;
// Token: 0x0400688A RID: 26762
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400688A")]
private uint H2;
// Token: 0x0400688B RID: 26763
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400688B")]
private uint H3;
// Token: 0x0400688C RID: 26764
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
[Token(Token = "0x400688C")]
private uint H4;
// Token: 0x0400688D RID: 26765
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400688D")]
private uint[] X;
// Token: 0x0400688E RID: 26766
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400688E")]
private int xOff;
// Token: 0x0400688F RID: 26767
[Token(Token = "0x400688F")]
private static readonly int S11;
// Token: 0x04006890 RID: 26768
[Token(Token = "0x4006890")]
private static readonly int S12;
// Token: 0x04006891 RID: 26769
[Token(Token = "0x4006891")]
private static readonly int S13;
// Token: 0x04006892 RID: 26770
[Token(Token = "0x4006892")]
private static readonly int S14;
// Token: 0x04006893 RID: 26771
[Token(Token = "0x4006893")]
private static readonly int S21;
// Token: 0x04006894 RID: 26772
[Token(Token = "0x4006894")]
private static readonly int S22;
// Token: 0x04006895 RID: 26773
[Token(Token = "0x4006895")]
private static readonly int S23;
// Token: 0x04006896 RID: 26774
[Token(Token = "0x4006896")]
private static readonly int S24;
// Token: 0x04006897 RID: 26775
[Token(Token = "0x4006897")]
private static readonly int S31;
// Token: 0x04006898 RID: 26776
[Token(Token = "0x4006898")]
private static readonly int S32;
// Token: 0x04006899 RID: 26777
[Token(Token = "0x4006899")]
private static readonly int S33;
// Token: 0x0400689A RID: 26778
[Token(Token = "0x400689A")]
private static readonly int S34;
// Token: 0x0400689B RID: 26779
[Token(Token = "0x400689B")]
private static readonly int S41;
// Token: 0x0400689C RID: 26780
[Token(Token = "0x400689C")]
private static readonly int S42;
// Token: 0x0400689D RID: 26781
[Token(Token = "0x400689D")]
private static readonly int S43;
// Token: 0x0400689E RID: 26782
[Token(Token = "0x400689E")]
private static readonly int S44;
}
}