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

255 lines
6.9 KiB
C#

using System;
using System.Runtime.InteropServices;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs
{
// Token: 0x02001674 RID: 5748
[Token(Token = "0x2001674")]
[StructLayout(3)]
public class HMac : IMac
{
// Token: 0x06009998 RID: 39320 RVA: 0x00222E10 File Offset: 0x00221010
[Token(Token = "0x6009998")]
[Address(RVA = "0x20F1640", Offset = "0x20F0040", VA = "0x1820F1640")]
public HMac(IDigest digest)
{
this.digest = digest;
byte[] array = new byte[0];
int num = this.digestSize;
this.inputPad = array;
byte[] array2 = new byte[num];
this.outputBuf = array2;
}
// Token: 0x17001891 RID: 6289
// (get) Token: 0x06009999 RID: 39321 RVA: 0x00222E54 File Offset: 0x00221054
[Token(Token = "0x17001891")]
public virtual string AlgorithmName
{
[Token(Token = "0x6009999")]
[Address(RVA = "0x20F16F0", Offset = "0x20F00F0", VA = "0x1820F16F0", Slot = "11")]
get
{
IDigest digest = this.digest;
return 0 + "/HMAC";
}
}
// Token: 0x0600999A RID: 39322 RVA: 0x00222E7C File Offset: 0x0022107C
[Token(Token = "0x600999A")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0", Slot = "12")]
public virtual IDigest GetUnderlyingDigest()
{
return this.digest;
}
// Token: 0x0600999B RID: 39323 RVA: 0x00222E90 File Offset: 0x00221090
[Token(Token = "0x600999B")]
[Address(RVA = "0x20F1100", Offset = "0x20EFB00", VA = "0x1820F1100", Slot = "13")]
public virtual void Init(ICipherParameters parameters)
{
int length2;
for (;;)
{
IDigest digest = this.digest;
int num = 0;
if (parameters != 0 && parameters != 0)
{
byte[] array;
int length = array.Length;
byte[] array2 = this.inputPad;
int num2 = 0;
int num3 = 0;
Array.Copy(array, num3, array2, num2, length);
IDigest digest2 = this.digest;
IDigest digest3 = this.digest;
int num4 = this.digestSize;
int num5 = this.blockLength;
byte[] array3 = this.inputPad;
num5 -= num4;
Array.Clear(array3, num4, num5);
int num6 = this.blockLength;
int num7 = 0;
byte[] array4 = this.outputBuf;
int num8 = 0;
Array.Copy(this.inputPad, num8, array4, num7, num6);
if (this.blockLength > 0)
{
byte[] array5 = this.inputPad;
num++;
if (this.blockLength > 0)
{
byte[] array6 = this.outputBuf;
num++;
}
if (num != 0)
{
IDigest digest4 = this.digest;
if (num == 0 || num == 0)
{
continue;
}
int num9 = this.blockLength;
this.opadState = num;
if (num == 0 || num == 0)
{
continue;
}
}
byte[] array7 = this.inputPad;
IDigest digest5 = this.digest;
length2 = array7.Length;
if (length2 == 0)
{
return;
}
IDigest digest6 = this.digest;
if (length2 != 0 && length2 != 0)
{
break;
}
}
}
}
this.ipadState = length2;
}
// Token: 0x0600999C RID: 39324 RVA: 0x00222FE4 File Offset: 0x002211E4
[Token(Token = "0x600999C")]
[Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0", Slot = "14")]
public virtual int GetMacSize()
{
return this.digestSize;
}
// Token: 0x0600999D RID: 39325 RVA: 0x00222FF8 File Offset: 0x002211F8
[Token(Token = "0x600999D")]
[Address(RVA = "0x20F1590", Offset = "0x20EFF90", VA = "0x1820F1590", Slot = "15")]
public virtual void Update(byte input)
{
IDigest digest = this.digest;
throw new NullReferenceException();
}
// Token: 0x0600999E RID: 39326 RVA: 0x00223014 File Offset: 0x00221214
[Token(Token = "0x600999E")]
[Address(RVA = "0x20F0E30", Offset = "0x20EF830", VA = "0x1820F0E30", Slot = "16")]
public virtual void BlockUpdate(byte[] input, int inOff, int len)
{
IDigest digest = this.digest;
}
// Token: 0x0600999F RID: 39327 RVA: 0x00223030 File Offset: 0x00221230
[Token(Token = "0x600999F")]
[Address(RVA = "0x20F0EB0", Offset = "0x20EF8B0", VA = "0x1820F0EB0", Slot = "17")]
public virtual int DoFinal(byte[] output, int outOff)
{
int num;
int num5;
for (;;)
{
IDigest digest = this.digest;
num = this.blockLength;
IMemoable memoable = this.opadState;
IDigest digest2 = this.digest;
if (memoable == 0)
{
int length = this.outputBuf.Length;
}
if (num != 0 && num != 0)
{
IDigest digest3 = this.digest;
int num2 = this.blockLength;
IDigest digest4 = this.digest;
int num3 = this.digestSize;
int num4 = this.blockLength;
Array.Clear(this.outputBuf, num4, num3);
IMemoable memoable2 = this.ipadState;
IDigest digest5 = this.digest;
if (memoable2 == 0)
{
break;
}
if (num5 != 0 && num5 != 0)
{
goto Block_5;
}
}
}
num5 = this.inputPad.Length;
num5 = num;
return num5;
Block_5:
throw new NullReferenceException();
}
// Token: 0x060099A0 RID: 39328 RVA: 0x002230E8 File Offset: 0x002212E8
[Token(Token = "0x60099A0")]
[Address(RVA = "0x20F1510", Offset = "0x20EFF10", VA = "0x1820F1510", Slot = "18")]
public virtual void Reset()
{
IDigest digest = this.digest;
byte[] array = this.inputPad;
IDigest digest2 = this.digest;
int length = array.Length;
}
// Token: 0x060099A1 RID: 39329 RVA: 0x00223118 File Offset: 0x00221318
[Token(Token = "0x60099A1")]
[Address(RVA = "0x20F15F0", Offset = "0x20EFFF0", VA = "0x1820F15F0")]
private static void XorPad(byte[] pad, int len, byte n)
{
int num = 0;
if (len > 0)
{
num++;
}
}
// Token: 0x040064D5 RID: 25813
[Token(Token = "0x40064D5")]
private const byte IPAD = 54;
// Token: 0x040064D6 RID: 25814
[Token(Token = "0x40064D6")]
private const byte OPAD = 92;
// Token: 0x040064D7 RID: 25815
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x40064D7")]
private readonly IDigest digest;
// Token: 0x040064D8 RID: 25816
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x40064D8")]
private readonly int digestSize;
// Token: 0x040064D9 RID: 25817
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
[Token(Token = "0x40064D9")]
private readonly int blockLength;
// Token: 0x040064DA RID: 25818
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x40064DA")]
private IMemoable ipadState;
// Token: 0x040064DB RID: 25819
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x40064DB")]
private IMemoable opadState;
// Token: 0x040064DC RID: 25820
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x40064DC")]
private readonly byte[] inputPad;
// Token: 0x040064DD RID: 25821
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x40064DD")]
private readonly byte[] outputBuf;
}
}