Files
Apr2020-Cpp2Il-Dump/Assembly-CSharp/BestHTTP/SecureProtocol/Org/BouncyCastle/Crypto/Macs/HMac.cs
T
niko 8fc35183db a
2026-04-11 22:19:20 +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: 0x02001C51 RID: 7249
[Token(Token = "0x2001C51")]
public class HMac : IMac
{
// Token: 0x0600B572 RID: 46450 RVA: 0x0027A428 File Offset: 0x00278628
[Token(Token = "0x600B572")]
[Address(RVA = "0x1C286A0", Offset = "0x1C274A0", VA = "0x181C286A0")]
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: 0x17001C92 RID: 7314
// (get) Token: 0x0600B573 RID: 46451 RVA: 0x0027A46C File Offset: 0x0027866C
[Token(Token = "0x17001C92")]
public virtual string AlgorithmName
{
[Token(Token = "0x600B573")]
[Address(RVA = "0x1C28750", Offset = "0x1C27550", VA = "0x181C28750", Slot = "11")]
get
{
IDigest digest = this.digest;
return 0 + "/HMAC";
}
}
// Token: 0x0600B574 RID: 46452 RVA: 0x0027A494 File Offset: 0x00278694
[Token(Token = "0x600B574")]
[Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20", Slot = "12")]
public virtual IDigest GetUnderlyingDigest()
{
return this.digest;
}
// Token: 0x0600B575 RID: 46453 RVA: 0x0027A4A8 File Offset: 0x002786A8
[Token(Token = "0x600B575")]
[Address(RVA = "0x1C28160", Offset = "0x1C26F60", VA = "0x181C28160", 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: 0x0600B576 RID: 46454 RVA: 0x0027A5FC File Offset: 0x002787FC
[Token(Token = "0x600B576")]
[Address(RVA = "0x40B720", Offset = "0x40A520", VA = "0x18040B720", Slot = "14")]
public virtual int GetMacSize()
{
return this.digestSize;
}
// Token: 0x0600B577 RID: 46455 RVA: 0x0027A610 File Offset: 0x00278810
[Token(Token = "0x600B577")]
[Address(RVA = "0x1C285F0", Offset = "0x1C273F0", VA = "0x181C285F0", Slot = "15")]
public virtual void Update(byte input)
{
IDigest digest = this.digest;
throw new NullReferenceException();
}
// Token: 0x0600B578 RID: 46456 RVA: 0x0027A62C File Offset: 0x0027882C
[Token(Token = "0x600B578")]
[Address(RVA = "0x1C27E90", Offset = "0x1C26C90", VA = "0x181C27E90", Slot = "16")]
public virtual void BlockUpdate(byte[] input, int inOff, int len)
{
IDigest digest = this.digest;
}
// Token: 0x0600B579 RID: 46457 RVA: 0x0027A648 File Offset: 0x00278848
[Token(Token = "0x600B579")]
[Address(RVA = "0x1C27F10", Offset = "0x1C26D10", VA = "0x181C27F10", 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: 0x0600B57A RID: 46458 RVA: 0x0027A700 File Offset: 0x00278900
[Token(Token = "0x600B57A")]
[Address(RVA = "0x1C28570", Offset = "0x1C27370", VA = "0x181C28570", Slot = "18")]
public virtual void Reset()
{
IDigest digest = this.digest;
byte[] array = this.inputPad;
IDigest digest2 = this.digest;
int length = array.Length;
}
// Token: 0x0600B57B RID: 46459 RVA: 0x0027A730 File Offset: 0x00278930
[Token(Token = "0x600B57B")]
[Address(RVA = "0x1C28650", Offset = "0x1C27450", VA = "0x181C28650")]
private static void XorPad(byte[] pad, int len, byte n)
{
int num = 0;
if (len > 0)
{
num++;
}
}
// Token: 0x04007318 RID: 29464
[Token(Token = "0x4007318")]
private const byte IPAD = 54;
// Token: 0x04007319 RID: 29465
[Token(Token = "0x4007319")]
private const byte OPAD = 92;
// Token: 0x0400731A RID: 29466
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400731A")]
private readonly IDigest digest;
// Token: 0x0400731B RID: 29467
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400731B")]
private readonly int digestSize;
// Token: 0x0400731C RID: 29468
[FieldOffset(Offset = "0x1C")]
[Token(Token = "0x400731C")]
private readonly int blockLength;
// Token: 0x0400731D RID: 29469
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400731D")]
private IMemoable ipadState;
// Token: 0x0400731E RID: 29470
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400731E")]
private IMemoable opadState;
// Token: 0x0400731F RID: 29471
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400731F")]
private readonly byte[] inputPad;
// Token: 0x04007320 RID: 29472
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4007320")]
private readonly byte[] outputBuf;
}
}