Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Macs/HMac.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

253 lines
6.6 KiB
C#

using System;
using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
using Cpp2IlInjected;
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Macs
{
// Token: 0x02001D31 RID: 7473
[Token(Token = "0x2001D31")]
public class HMac : IMac
{
// Token: 0x0600B940 RID: 47424 RVA: 0x0028357C File Offset: 0x0028177C
[Token(Token = "0x600B940")]
[Address(RVA = "0x25BD270", Offset = "0x25BC270", VA = "0x1825BD270")]
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: 0x17001D2F RID: 7471
// (get) Token: 0x0600B941 RID: 47425 RVA: 0x002835C0 File Offset: 0x002817C0
[Token(Token = "0x17001D2F")]
public virtual string AlgorithmName
{
[Token(Token = "0x600B941")]
[Address(RVA = "0x25BD320", Offset = "0x25BC320", VA = "0x1825BD320", Slot = "11")]
get
{
IDigest digest = this.digest;
return 0 + "/HMAC";
}
}
// Token: 0x0600B942 RID: 47426 RVA: 0x002835E8 File Offset: 0x002817E8
[Token(Token = "0x600B942")]
[Address(RVA = "0x411530", Offset = "0x410530", VA = "0x180411530", Slot = "12")]
public virtual IDigest GetUnderlyingDigest()
{
return this.digest;
}
// Token: 0x0600B943 RID: 47427 RVA: 0x002835FC File Offset: 0x002817FC
[Token(Token = "0x600B943")]
[Address(RVA = "0x25BCD30", Offset = "0x25BBD30", VA = "0x1825BCD30", 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: 0x0600B944 RID: 47428 RVA: 0x00283750 File Offset: 0x00281950
[Token(Token = "0x600B944")]
[Address(RVA = "0x411540", Offset = "0x410540", VA = "0x180411540", Slot = "14")]
public virtual int GetMacSize()
{
return this.digestSize;
}
// Token: 0x0600B945 RID: 47429 RVA: 0x00283764 File Offset: 0x00281964
[Token(Token = "0x600B945")]
[Address(RVA = "0x25BD1C0", Offset = "0x25BC1C0", VA = "0x1825BD1C0", Slot = "15")]
public virtual void Update(byte input)
{
IDigest digest = this.digest;
throw new NullReferenceException();
}
// Token: 0x0600B946 RID: 47430 RVA: 0x00283780 File Offset: 0x00281980
[Token(Token = "0x600B946")]
[Address(RVA = "0x25BCA60", Offset = "0x25BBA60", VA = "0x1825BCA60", Slot = "16")]
public virtual void BlockUpdate(byte[] input, int inOff, int len)
{
IDigest digest = this.digest;
}
// Token: 0x0600B947 RID: 47431 RVA: 0x0028379C File Offset: 0x0028199C
[Token(Token = "0x600B947")]
[Address(RVA = "0x25BCAE0", Offset = "0x25BBAE0", VA = "0x1825BCAE0", 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: 0x0600B948 RID: 47432 RVA: 0x00283854 File Offset: 0x00281A54
[Token(Token = "0x600B948")]
[Address(RVA = "0x25BD140", Offset = "0x25BC140", VA = "0x1825BD140", Slot = "18")]
public virtual void Reset()
{
IDigest digest = this.digest;
byte[] array = this.inputPad;
IDigest digest2 = this.digest;
int length = array.Length;
}
// Token: 0x0600B949 RID: 47433 RVA: 0x00283884 File Offset: 0x00281A84
[Token(Token = "0x600B949")]
[Address(RVA = "0x25BD220", Offset = "0x25BC220", VA = "0x1825BD220")]
private static void XorPad(byte[] pad, int len, byte n)
{
int num = 0;
if (len > 0)
{
num++;
}
}
// Token: 0x040074D1 RID: 29905
[Token(Token = "0x40074D1")]
private const byte IPAD = 54;
// Token: 0x040074D2 RID: 29906
[Token(Token = "0x40074D2")]
private const byte OPAD = 92;
// Token: 0x040074D3 RID: 29907
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40074D3")]
private readonly IDigest digest;
// Token: 0x040074D4 RID: 29908
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40074D4")]
private readonly int digestSize;
// Token: 0x040074D5 RID: 29909
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x40074D5")]
private readonly int blockLength;
// Token: 0x040074D6 RID: 29910
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40074D6")]
private IMemoable ipadState;
// Token: 0x040074D7 RID: 29911
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x40074D7")]
private IMemoable opadState;
// Token: 0x040074D8 RID: 29912
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x40074D8")]
private readonly byte[] inputPad;
// Token: 0x040074D9 RID: 29913
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x40074D9")]
private readonly byte[] outputBuf;
}
}