Files
Apr2020-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Digests/GeneralDigest.cs
T
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

233 lines
5.9 KiB
C#

using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Digests
{
// Token: 0x02001CE7 RID: 7399
[Token(Token = "0x2001CE7")]
public abstract class GeneralDigest : IDigest, IMemoable
{
// Token: 0x0600BA72 RID: 47730 RVA: 0x002A0EBC File Offset: 0x0029F0BC
[Token(Token = "0x600BA72")]
[Address(RVA = "0x1B3D150", Offset = "0x1B3BF50", VA = "0x181B3D150")]
internal GeneralDigest()
{
byte[] array = new byte[4];
this.xBuf = array;
}
// Token: 0x0600BA73 RID: 47731 RVA: 0x002A0EE0 File Offset: 0x0029F0E0
[Token(Token = "0x600BA73")]
[Address(RVA = "0x1B3D1A0", Offset = "0x1B3BFA0", VA = "0x181B3D1A0")]
internal GeneralDigest(GeneralDigest t)
{
byte[] array = new byte[t.xBuf.Length];
this.xBuf = array;
byte[] array2 = t.xBuf;
int length = array2.Length;
int num = 0;
int num2 = 0;
Array.Copy(array2, num2, array, num, length);
int num3 = t.xBufOff;
this.xBufOff = num3;
long num4 = t.byteCount;
this.byteCount = num4;
}
// Token: 0x0600BA74 RID: 47732 RVA: 0x002A0F50 File Offset: 0x0029F150
[Token(Token = "0x600BA74")]
[Address(RVA = "0x1B3CF00", Offset = "0x1B3BD00", VA = "0x181B3CF00")]
protected void CopyIn(GeneralDigest t)
{
byte[] array = t.xBuf;
int length = array.Length;
int num = 0;
byte[] array2 = this.xBuf;
int num2 = 0;
Array.Copy(array, num2, array2, num, length);
int num3 = t.xBufOff;
this.xBufOff = num3;
long num4 = t.byteCount;
this.byteCount = num4;
}
// Token: 0x0600BA75 RID: 47733 RVA: 0x002A0FA8 File Offset: 0x0029F1A8
[Token(Token = "0x600BA75")]
[Address(RVA = "0x1B3D0D0", Offset = "0x1B3BED0", VA = "0x181B3D0D0", Slot = "7")]
public void Update(byte input)
{
byte[] array = this.xBuf;
int num = this.xBufOff + 1;
this.xBufOff = num;
int length = this.xBuf.Length;
if (this.xBufOff == length)
{
this.Reset();
this.xBufOff = (int)((ulong)0L);
}
}
// Token: 0x0600BA76 RID: 47734 RVA: 0x002A0FF8 File Offset: 0x0029F1F8
[Token(Token = "0x600BA76")]
[Address(RVA = "0x1B3CD10", Offset = "0x1B3BB10", VA = "0x181B3CD10", Slot = "8")]
public void BlockUpdate(byte[] input, int inOff, int length)
{
int num = Math.Max(0, length);
int num2 = this.xBufOff;
int num3 = 0;
if (num2 != 0 && num > 0)
{
byte[] array = this.xBuf;
int num4 = num2 + 1;
this.xBufOff = num4;
num3++;
num3 += inOff;
int num5 = this.xBufOff;
if (num5 == 4)
{
this.Reset();
this.xBufOff = (int)((ulong)0L);
throw new NullReferenceException();
}
}
num -= num3;
num += num3;
if (num3 < num)
{
this.Reset();
num3 += 4;
}
if (num3 < num)
{
int num6 = this.xBufOff;
byte[] array2 = this.xBuf;
int num7 = num6 + 1;
this.xBufOff = num7;
num3++;
num3 += inOff;
}
}
// Token: 0x0600BA77 RID: 47735 RVA: 0x002A10A0 File Offset: 0x0029F2A0
[Token(Token = "0x600BA77")]
[Address(RVA = "0x1B3CF60", Offset = "0x1B3BD60", VA = "0x181B3CF60")]
public void Finish()
{
byte[] array = this.xBuf;
int num = this.xBufOff + 1;
this.xBufOff = num;
byte[] array2 = this.xBuf;
int num2 = this.xBufOff;
int num3 = 0;
if (num2 == array2.Length)
{
this.Reset();
this.xBufOff = num3;
}
if (num2 != 0)
{
byte[] array3 = this.xBuf;
int num4 = num2 + 1;
this.xBufOff = num4;
byte[] array4 = this.xBuf;
if (this.xBufOff == array4.Length)
{
this.Reset();
this.xBufOff = num3;
}
while (num3 != 0)
{
}
}
this.ProcessBlock();
}
// Token: 0x0600BA78 RID: 47736 RVA: 0x002A1140 File Offset: 0x0029F340
[Token(Token = "0x600BA78")]
[Address(RVA = "0x1B3D0A0", Offset = "0x1B3BEA0", VA = "0x181B3D0A0", Slot = "13")]
public virtual void Reset()
{
int num = 0;
this.byteCount = (long)num;
this.xBufOff = num;
byte[] array = this.xBuf;
int length = array.Length;
int num2 = 0;
Array.Clear(array, num2, length);
}
// Token: 0x0600BA79 RID: 47737 RVA: 0x002A117C File Offset: 0x0029F37C
[Token(Token = "0x600BA79")]
[Address(RVA = "0x1B31440", Offset = "0x1B30240", VA = "0x181B31440", Slot = "6")]
public int GetByteLength()
{
return 64;
}
// Token: 0x0600BA7A RID: 47738
[Token(Token = "0x600BA7A")]
[Address(Slot = "14")]
internal abstract void ProcessWord(byte[] input, int inOff);
// Token: 0x0600BA7B RID: 47739
[Token(Token = "0x600BA7B")]
[Address(Slot = "15")]
internal abstract void ProcessLength(long bitLength);
// Token: 0x0600BA7C RID: 47740
[Token(Token = "0x600BA7C")]
[Address(Slot = "16")]
internal abstract void ProcessBlock();
// Token: 0x17001D0F RID: 7439
// (get) Token: 0x0600BA7D RID: 47741
[Token(Token = "0x17001D0F")]
public abstract string AlgorithmName
{
[Token(Token = "0x600BA7D")]
[Address(Slot = "17")]
get;
}
// Token: 0x0600BA7E RID: 47742
[Token(Token = "0x600BA7E")]
[Address(Slot = "18")]
public abstract int GetDigestSize();
// Token: 0x0600BA7F RID: 47743
[Token(Token = "0x600BA7F")]
[Address(Slot = "19")]
public abstract int DoFinal(byte[] output, int outOff);
// Token: 0x0600BA80 RID: 47744
[Token(Token = "0x600BA80")]
[Address(Slot = "20")]
public abstract IMemoable Copy();
// Token: 0x0600BA81 RID: 47745
[Token(Token = "0x600BA81")]
[Address(Slot = "21")]
public abstract void Reset(IMemoable t);
// Token: 0x04007694 RID: 30356
[Token(Token = "0x4007694")]
private const int BYTE_LENGTH = 64;
// Token: 0x04007695 RID: 30357
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4007695")]
private byte[] xBuf;
// Token: 0x04007696 RID: 30358
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4007696")]
private int xBufOff;
// Token: 0x04007697 RID: 30359
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4007697")]
private long byteCount;
}
}