asp.net 中MD5加密 问题 本帖最后由 zycgps 于 2014-05-25 18:11:38 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 [code=csharp][code=csharp]using System;namespace Edu.GateWay{ public class HmacMD5 { private const uint a = 7u; private const uint b = 12u; private const uint c = 17u; private const uint d = 22u; private const uint e = 5u; private const uint f = 9u; private const uint g = 14u; private const uint h = 20u; private const uint i = 4u; private const uint j = 11u; private const uint k = 16u; private const uint l = 23u; private const uint m = 6u; private const uint n = 10u; private const uint o = 15u; private const uint p = 21u; private uint[] q; private uint[] r; private byte[] s; private byte[] t; private static byte[] u; public HmacMD5() { this.q = new uint[2]; this.r = new uint[4]; this.s = new byte[64]; this.t = new byte[16]; this.init(); } public void init() { if (true) { } this.q[0] = 0u; this.q[1] = 0u; this.r[0] = 1732584193u; this.r[1] = 4023233417u; this.r[2] = 2562383102u; this.r[3] = 271733878u; } public void update(byte[] data, uint length) { switch (0) { case 0: IL_0E: while (true) { uint num = length; uint num2 = this.q[0] >> 3 & 63u; uint num3 = length << 3; uint num4 = 0u; bool flag = length > 0u; int num5 = 6; while (true) { uint arg_2D5_0; uint num7; switch (num5) { case 0: goto IL_B4; case 1: if (!flag) { num5 = 13; continue; } goto IL_1F8; case 2: goto IL_FD; case 3: num5 = 15; continue; case 4: { uint num6 = 64u - num2; num5 = 9; continue; } case 5: if (!flag) { if (true) { } num5 = 16; continue; } Buffer.BlockCopy(data, (int)num4, this.s, 0, 64); this.a(this.s); num4 += 64u; num -= 64u; num5 = 2; continue; case 6: if (!flag) { num5 = 11; continue; } this.q[0] += num3; this.q[1] += length >> 29; flag = (this.q[0] >= num3); num5 = 1; continue; case 7: arg_2D5_0 = 64u - num2; goto IL_2D5; case 8: return; case 9: if (num2 + length <= 64u) { num5 = 3; continue; } num5 = 7; continue; case 10: goto IL_1F8; case 11: num5 = 20; continue; case 12: Buffer.BlockCopy(data, (int)num4, this.s, 0, (int)num); num5 = 22; continue; case 13: this.q[1] += 1u; num5 = 10; continue; case 14: if (!flag) { num5 = 18; continue; } this.a(this.s); num4 += num7; num -= num7; num5 = 0; continue; case 15: arg_2D5_0 = length; goto IL_2D5; case 16: flag = (num <= 0u); num5 = 19; continue; case 17: if (!flag) { num5 = 4; continue; } goto IL_B4; case 18: num5 = 8; continue; case 19: if (!flag) { num5 = 12; continue; } return; case 20: return; case 21: goto IL_FD; case 22: return; } break; IL_B4: num5 = 21; continue; IL_FD: flag = (num >= 64u); num5 = 5; continue; IL_1F8: flag = (num2 <= 0u); num5 = 17; continue; IL_2D5: num7 = arg_2D5_0; Buffer.BlockCopy(data, 0, this.s, (int)num2, (int)num7); flag = (num2 + num7 >= 64u); num5 = 14; } } return; } goto IL_0E; } public byte[] finalize() { switch (0) { case 0: { IL_0E: byte[] result; while (true) { byte[] data = new byte[8]; this.a(ref data, this.q, 8u); uint num = this.q[0] >> 3 & 63u; int num2 = 1; while (true) { uint arg_9B_0; bool flag; int num3; switch (num2) { case 0: goto IL_108; case 1: if (num >= 56u) { num2 = 5; continue; } num2 = 8; continue; case 2: return result; case 3: goto IL_108; case 4: result = this.t; num2 = 2; continue; case 5: num2 = 6; continue; case 6: arg_9B_0 = 120u - num; goto IL_9B; case 7: if (!flag) { num2 = 4; continue; } this.s[num3] = 0; num3++; num2 = 0; continue; case 8: arg_9B_0 = 56u - num; goto IL_9B; } break; IL_9B: uint length = arg_9B_0; this.update(HmacMD5.u, length); this.update(data, 8u); this.a(ref this.t, this.r, 16u); num3 = 0; num2 = 3; continue; IL_108: flag = (num3 < 64); if (true) { } num2 = 7; } } return result; } } goto IL_0E; } public string md5String() { switch (0) { case 0: { IL_0E: string result; while (true) { string text = ""; int num = 0; int num2 = 0; while (true) { bool flag; switch (num2) { case 0: goto IL_4C; case 1: goto IL_4C; case 2: if (!flag) { num2 = 4; continue; } text += this.t[num].ToString("x2"); num++; if (true) { } num2 = 1; continue; case 3: return result; case 4: result = text; num2 = 3; continue; } break; IL_4C: flag = (num < this.t.Length); num2 = 2; } } return result; } } goto IL_0E; } private void a(byte[] A_0) { switch (0) { case 0: IL_0E: while (true) { uint num = this.r[0]; uint num2 = this.r[1]; uint num3 = this.r[2]; uint num4 = this.r[3]; uint[] array = new uint[16]; this.a(ref array, A_0, 64u); this.d(ref num, num2, num3, num4, array[0], 7u, 3614090360u); this.d(ref num4, num, num2, num3, array[1], 12u, 3905402710u); this.d(ref num3, num4, num, num2, array[2], 17u, 606105819u); this.d(ref num2, num3, num4, num, array[3], 22u, 3250441966u); this.d(ref num, num2, num3, num4, array[4], 7u, 4118548399u); this.d(ref num4, num, num2, num3, array[5], 12u, 1200080426u); this.d(ref num3, num4, num, num2, array[6], 17u, 2821735955u); this.d(ref num2, num3, num4, num, array[7], 22u, 4249261313u); this.d(ref num, num2, num3, num4, array[8], 7u, 1770035416u); this.d(ref num4, num, num2, num3, array[9], 12u, 2336552879u); this.d(ref num3, num4, num, num2, array[10], 17u, 4294925233u); this.d(ref num2, num3, num4, num, array[11], 22u, 2304563134u); this.d(ref num, num2, num3, num4, array[12], 7u, 1804603682u); this.d(ref num4, num, num2, num3, array[13], 12u, 4254626195u); this.d(ref num3, num4, num, num2, array[14], 17u, 2792965006u); this.d(ref num2, num3, num4, num, array[15], 22u, 1236535329u); this.c(ref num, num2, num3, num4, array[1], 5u, 4129170786u); this.c(ref num4, num, num2, num3, array[6], 9u, 3225465664u); this.c(ref num3, num4, num, num2, array[11], 14u, 643717713u); this.c(ref num2, num3, num4, num, array[0], 20u, 3921069994u); this.c(ref num, num2, num3, num4, array[5], 5u, 3593408605u); this.c(ref num4, num, num2, num3, array[10], 9u, 38016083u); this.c(ref num3, num4, num, num2, array[15], 14u, 3634488961u); this.c(ref num2, num3, num4, num, array[4], 20u, 3889429448u); this.c(ref num, num2, num3, num4, array[9], 5u, 568446438u); this.c(ref num4, num, num2, num3, array[14], 9u, 3275163606u); this.c(ref num3, num4, num, num2, array[3], 14u, 4107603335u); this.c(ref num2, num3, num4, num, array[8], 20u, 1163531501u); this.c(ref num, num2, num3, num4, array[13], 5u, 2850285829u); this.c(ref num4, num, num2, num3, array[2], 9u, 4243563512u); this.c(ref num3, num4, num, num2, array[7], 14u, 1735328473u); this.c(ref num2, num3, num4, num, array[12], 20u, 2368359562u); this.b(ref num, num2, num3, num4, array[5], 4u, 4294588738u); this.b(ref num4, num, num2, num3, array[8], 11u, 2272392833u); this.b(ref num3, num4, num, num2, array[11], 16u, 1839030562u); this.b(ref num2, num3, num4, num, array[14], 23u, 4259657740u); this.b(ref num, num2, num3, num4, array[1], 4u, 2763975236u); this.b(ref num4, num, num2, num3, array[4], 11u, 1272893353u); this.b(ref num3, num4, num, num2, array[7], 16u, 4139469664u); this.b(ref num2, num3, num4, num, array[10], 23u, 3200236656u); this.b(ref num, num2, num3, num4, array[13], 4u, 681279174u); this.b(ref num4, num, num2, num3, array[0], 11u, 3936430074u); this.b(ref num3, num4, num, num2, array[3], 16u, 3572445317u); this.b(ref num2, num3, num4, num, array[6], 23u, 76029189u); this.b(ref num, num2, num3, num4, array[9], 4u, 3654602809u); this.b(ref num4, num, num2, num3, array[12], 11u, 3873151461u); this.b(ref num3, num4, num, num2, array[15], 16u, 530742520u); this.b(ref num2, num3, num4, num, array[2], 23u, 3299628645u); this.a(ref num, num2, num3, num4, array[0], 6u, 4096336452u); this.a(ref num4, num, num2, num3, array[7], 10u, 1126891415u); this.a(ref num3, num4, num, num2, array[14], 15u, 2878612391u); this.a(ref num2, num3, num4, num, array[5], 21u, 4237533241u); this.a(ref num, num2, num3, num4, array[12], 6u, 1700485571u); this.a(ref num4, num, num2, num3, array[3], 10u, 2399980690u); this.a(ref num3, num4, num, num2, array[10], 15u, 4293915773u); this.a(ref num2, num3, num4, num, array[1], 21u, 2240044497u); this.a(ref num, num2, num3, num4, array[8], 6u, 1873313359u); this.a(ref num4, num, num2, num3, array[15], 10u, 4264355552u); this.a(ref num3, num4, num, num2, array[6], 15u, 2734768916u); this.a(ref num2, num3, num4, num, array[13], 21u, 1309151649u); this.a(ref num, num2, num3, num4, array[4], 6u, 4149444226u); this.a(ref num4, num, num2, num3, array[11], 10u, 3174756917u); this.a(ref num3, num4, num, num2, array[2], 15u, 718787259u); this.a(ref num2, num3, num4, num, array[9], 21u, 3951481745u); this.r[0] += num; this.r[1] += num2; this.r[2] += num3; this.r[3] += num4; int num5 = 0; int num6 = 1; while (true) { bool flag; switch (num6) { case 0: goto IL_6C6; case 1: goto IL_6A2; case 2: goto IL_6A2; case 3: if (!flag) { num6 = 0; continue; } array[num5] = 0u; num5++; num6 = 2; continue; } break; IL_6A2: flag = (num5 < 16); num6 = 3; } } IL_6C6: if (true) { } return; } goto IL_0E; } private void a(ref byte[] A_0, uint[] A_1, uint A_2) { while (true) { bool flag = !BitConverter.IsLittleEndian; int num = 1; while (true) { uint num3; switch (num) { case 0: num = 7; continue; case 1: { if (!flag) { num = 11; continue; } uint num2 = 0u; num3 = 0u; if (true) { } num = 3; continue; } case 2: goto IL_195; case 3: goto IL_164; case 4: goto IL_195; case 5: { if (!flag) { num = 10; continue; } uint num2; A_0[(int)((UIntPtr)num3)] = (byte)(A_1[(int)((UIntPtr)num2)] & 255u); A_0[(int)((UIntPtr)(num3 + 1u))] = (byte)(A_1[(int)((UIntPtr)num2)] >> 8 & 255u); A_0[(int)((UIntPtr)(num3 + 2u))] = (byte)(A_1[(int)((UIntPtr)num2)] >> 16 & 255u); A_0[(int)((UIntPtr)(num3 + 3u))] = (byte)(A_1[(int)((UIntPtr)num2)] >> 24 & 255u); num2 += 1u; num3 += 4u; num = 2; continue; } case 6: return; case 7: return; case 8: goto IL_164; case 9: { if (!flag) { num = 0; continue; } uint num2; A_0[(int)((UIntPtr)(num3 + 3u))] = (byte)(A_1[(int)((UIntPtr)num2)] & 255u); A_0[(int)((UIntPtr)(num3 + 2u))] = (byte)(A_1[(int)((UIntPtr)num2)] >> 8 & 255u); A_0[(int)((UIntPtr)(num3 + 1u))] = (byte)(A_1[(int)((UIntPtr)num2)] >> 16 & 255u); A_0[(int)((UIntPtr)num3)] = (byte)(A_1[(int)((UIntPtr)num2)] >> 24 & 255u); num2 += 1u; num3 += 4u; num = 8; continue; } case 10: num = 6; continue; case 11: { uint num2 = 0u; num3 = 0u; num = 4; continue; } } break; IL_164: flag = (num3 < A_2); num = 9; continue; IL_195: flag = (num3 < A_2); num = 5; } } } private void a(ref uint[] A_0, byte[] A_1, uint A_2) { while (true) { bool flag = !BitConverter.IsLittleEndian; int num = 5; while (true) { uint num3; switch (num) { case 0: num = 4; continue; case 1: { if (!flag) { num = 9; continue; } uint num2; A_0[(int)((UIntPtr)num2)] = (uint)((int)A_1[(int)((UIntPtr)num3)] | (int)A_1[(int)((UIntPtr)(num3 + 1u))] << 8 | (int)A_1[(int)((UIntPtr)(num3 + 2u))] << 16 | (int)A_1[(int)((UIntPtr)(num3 + 3u))] << 24); num2 += 1u; num3 += 4u; num = 3; continue; } case 2: { uint num2 = 0u; num3 = 0u; num = 8; continue; } case 3: goto IL_13B; case 4: return; case 5: { if (!flag) { num = 2; continue; } uint num2 = 0u; num3 = 0u; num = 7; continue; } case 6: if (true) { } goto IL_10A; case 7: goto IL_10A; case 8: goto IL_13B; case 9: num = 10; continue; case 10: return; case 11: { if (!flag) { num = 0; continue; } uint num2; A_0[(int)((UIntPtr)num2)] = (uint)((int)A_1[(int)((UIntPtr)(num3 + 3u))] | (int)A_1[(int)((UIntPtr)(num3 + 2u))] << 8 | (int)A_1[(int)((UIntPtr)(num3 + 1u))] << 16 | (int)A_1[(int)((UIntPtr)num3)] << 24); num2 += 1u; num3 += 4u; num = 6; continue; } } break; IL_10A: flag = (num3 < A_2); num = 11; continue; IL_13B: flag = (num3 < A_2); num = 1; } } } private uint a(uint A_0, uint A_1) { uint result = A_0 << (int)A_1 | A_0 >> (int)(32u - A_1); if (true) { } return result; } private uint d(uint A_0, uint A_1, uint A_2) { if (true) { } return (A_0 & A_1) | (~A_0 & A_2); } private uint c(uint A_0, uint A_1, uint A_2) { uint result = (A_0 & A_2) | (A_1 & ~A_2); if (true) { } return result; } private uint b(uint A_0, uint A_1, uint A_2) { return A_0 ^ A_1 ^ A_2; } private uint a(uint A_0, uint A_1, uint A_2) { if (true) { } return A_1 ^ (A_0 | ~A_2); } private void d(ref uint A_0, uint A_1, uint A_2, uint A_3, uint A_4, uint A_5, uint A_6) { if (true) { } A_0 += this.d(A_1, A_2, A_3) + A_4 + A_6; A_0 = this.a(A_0, A_5) + A_1; } private void c(ref uint A_0, uint A_1, uint A_2, uint A_3, uint A_4, uint A_5, uint A_6) { if (true) { } A_0 += this.c(A_1, A_2, A_3) + A_4 + A_6; A_0 = this.a(A_0, A_5) + A_1; } private void b(ref uint A_0, uint A_1, uint A_2, uint A_3, uint A_4, uint A_5, uint A_6) { if (true) { } A_0 += this.b(A_1, A_2, A_3) + A_4 + A_6; A_0 = this.a(A_0, A_5) + A_1; } private void a(ref uint A_0, uint A_1, uint A_2, uint A_3, uint A_4, uint A_5, uint A_6) { if (true) { } A_0 += this.a(A_1, A_2, A_3) + A_4 + A_6; A_0 = this.a(A_0, A_5) + A_1; } static HmacMD5() { // Note: this type is ed as 'beforefieldinit'. byte[] array = new byte[64]; array[0] = 128; HmacMD5.u = array; } }} 这样赋值不口以吗? gridview中怎样获取编辑模板中的控件 gridview,的button 都过了20天了,网站ICP备还没有申请下来,为什么?着急 很急!! 能不能自动套用CSS样式? 请教一个关于asp.net无法访问数据库的问题 我急急急!如何控制膜板列中的控件?求各位哥哥姐姐帮忙,在线等着 怎样组织一个二手书的分类的XML文件好呢? 帮帮忙阿,头好大啊 asp.net模板引擎怎么在html页里用js获取后台传回来的值 关于EF的对于Sql自动生成字段的处理
namespace Edu.GateWay
{
public class HmacMD5
{
private const uint a = 7u;
private const uint b = 12u;
private const uint c = 17u;
private const uint d = 22u;
private const uint e = 5u;
private const uint f = 9u;
private const uint g = 14u;
private const uint h = 20u;
private const uint i = 4u;
private const uint j = 11u;
private const uint k = 16u;
private const uint l = 23u;
private const uint m = 6u;
private const uint n = 10u;
private const uint o = 15u;
private const uint p = 21u;
private uint[] q;
private uint[] r;
private byte[] s;
private byte[] t;
private static byte[] u;
public HmacMD5()
{
this.q = new uint[2];
this.r = new uint[4];
this.s = new byte[64];
this.t = new byte[16];
this.init();
}
public void init()
{
if (true)
{
}
this.q[0] = 0u;
this.q[1] = 0u;
this.r[0] = 1732584193u;
this.r[1] = 4023233417u;
this.r[2] = 2562383102u;
this.r[3] = 271733878u;
}
public void update(byte[] data, uint length)
{
switch (0)
{
case 0:
IL_0E:
while (true)
{
uint num = length;
uint num2 = this.q[0] >> 3 & 63u;
uint num3 = length << 3;
uint num4 = 0u;
bool flag = length > 0u;
int num5 = 6;
while (true)
{
uint arg_2D5_0;
uint num7;
switch (num5)
{
case 0:
goto IL_B4;
case 1:
if (!flag)
{
num5 = 13;
continue;
}
goto IL_1F8;
case 2:
goto IL_FD;
case 3:
num5 = 15;
continue;
case 4:
{
uint num6 = 64u - num2;
num5 = 9;
continue;
}
case 5:
if (!flag)
{
if (true)
{
}
num5 = 16;
continue;
}
Buffer.BlockCopy(data, (int)num4, this.s, 0, 64);
this.a(this.s);
num4 += 64u;
num -= 64u;
num5 = 2;
continue;
case 6:
if (!flag)
{
num5 = 11;
continue;
}
this.q[0] += num3;
this.q[1] += length >> 29;
flag = (this.q[0] >= num3);
num5 = 1;
continue;
case 7:
arg_2D5_0 = 64u - num2;
goto IL_2D5;
case 8:
return;
case 9:
if (num2 + length <= 64u)
{
num5 = 3;
continue;
}
num5 = 7;
continue;
case 10:
goto IL_1F8;
case 11:
num5 = 20;
continue;
case 12:
Buffer.BlockCopy(data, (int)num4, this.s, 0, (int)num);
num5 = 22;
continue;
case 13:
this.q[1] += 1u;
num5 = 10;
continue;
case 14:
if (!flag)
{
num5 = 18;
continue;
}
this.a(this.s);
num4 += num7;
num -= num7;
num5 = 0;
continue;
case 15:
arg_2D5_0 = length;
goto IL_2D5;
case 16:
flag = (num <= 0u);
num5 = 19;
continue;
case 17:
if (!flag)
{
num5 = 4;
continue;
}
goto IL_B4;
case 18:
num5 = 8;
continue;
case 19:
if (!flag)
{
num5 = 12;
continue;
}
return;
case 20:
return;
case 21:
goto IL_FD;
case 22:
return;
}
break;
IL_B4:
num5 = 21;
continue;
IL_FD:
flag = (num >= 64u);
num5 = 5;
continue;
IL_1F8:
flag = (num2 <= 0u);
num5 = 17;
continue;
IL_2D5:
num7 = arg_2D5_0;
Buffer.BlockCopy(data, 0, this.s, (int)num2, (int)num7);
flag = (num2 + num7 >= 64u);
num5 = 14;
}
}
return;
}
goto IL_0E;
}
public byte[] finalize()
{
switch (0)
{
case 0:
{
IL_0E:
byte[] result;
while (true)
{
byte[] data = new byte[8];
this.a(ref data, this.q, 8u);
uint num = this.q[0] >> 3 & 63u;
int num2 = 1;
while (true)
{
uint arg_9B_0;
bool flag;
int num3;
switch (num2)
{
case 0:
goto IL_108;
case 1:
if (num >= 56u)
{
num2 = 5;
continue;
}
num2 = 8;
continue;
case 2:
return result;
case 3:
goto IL_108;
case 4:
result = this.t;
num2 = 2;
continue;
case 5:
num2 = 6;
continue;
case 6:
arg_9B_0 = 120u - num;
goto IL_9B;
case 7:
if (!flag)
{
num2 = 4;
continue;
}
this.s[num3] = 0;
num3++;
num2 = 0;
continue;
case 8:
arg_9B_0 = 56u - num;
goto IL_9B;
}
break;
IL_9B:
uint length = arg_9B_0;
this.update(HmacMD5.u, length);
this.update(data, 8u);
this.a(ref this.t, this.r, 16u);
num3 = 0;
num2 = 3;
continue;
IL_108:
flag = (num3 < 64);
if (true)
{
}
num2 = 7;
}
}
return result;
}
}
goto IL_0E;
}
public string md5String()
{
switch (0)
{
case 0:
{
IL_0E:
string result;
while (true)
{
string text = "";
int num = 0;
int num2 = 0;
while (true)
{
bool flag;
switch (num2)
{
case 0:
goto IL_4C;
case 1:
goto IL_4C;
case 2:
if (!flag)
{
num2 = 4;
continue;
}
text += this.t[num].ToString("x2");
num++;
if (true)
{
}
num2 = 1;
continue;
case 3:
return result;
case 4:
result = text;
num2 = 3;
continue;
}
break;
IL_4C:
flag = (num < this.t.Length);
num2 = 2;
}
}
return result;
}
}
goto IL_0E;
}
{
switch (0)
{
case 0:
IL_0E:
while (true)
{
uint num = this.r[0];
uint num2 = this.r[1];
uint num3 = this.r[2];
uint num4 = this.r[3];
uint[] array = new uint[16];
this.a(ref array, A_0, 64u);
this.d(ref num, num2, num3, num4, array[0], 7u, 3614090360u);
this.d(ref num4, num, num2, num3, array[1], 12u, 3905402710u);
this.d(ref num3, num4, num, num2, array[2], 17u, 606105819u);
this.d(ref num2, num3, num4, num, array[3], 22u, 3250441966u);
this.d(ref num, num2, num3, num4, array[4], 7u, 4118548399u);
this.d(ref num4, num, num2, num3, array[5], 12u, 1200080426u);
this.d(ref num3, num4, num, num2, array[6], 17u, 2821735955u);
this.d(ref num2, num3, num4, num, array[7], 22u, 4249261313u);
this.d(ref num, num2, num3, num4, array[8], 7u, 1770035416u);
this.d(ref num4, num, num2, num3, array[9], 12u, 2336552879u);
this.d(ref num3, num4, num, num2, array[10], 17u, 4294925233u);
this.d(ref num2, num3, num4, num, array[11], 22u, 2304563134u);
this.d(ref num, num2, num3, num4, array[12], 7u, 1804603682u);
this.d(ref num4, num, num2, num3, array[13], 12u, 4254626195u);
this.d(ref num3, num4, num, num2, array[14], 17u, 2792965006u);
this.d(ref num2, num3, num4, num, array[15], 22u, 1236535329u);
this.c(ref num, num2, num3, num4, array[1], 5u, 4129170786u);
this.c(ref num4, num, num2, num3, array[6], 9u, 3225465664u);
this.c(ref num3, num4, num, num2, array[11], 14u, 643717713u);
this.c(ref num2, num3, num4, num, array[0], 20u, 3921069994u);
this.c(ref num, num2, num3, num4, array[5], 5u, 3593408605u);
this.c(ref num4, num, num2, num3, array[10], 9u, 38016083u);
this.c(ref num3, num4, num, num2, array[15], 14u, 3634488961u);
this.c(ref num2, num3, num4, num, array[4], 20u, 3889429448u);
this.c(ref num, num2, num3, num4, array[9], 5u, 568446438u);
this.c(ref num4, num, num2, num3, array[14], 9u, 3275163606u);
this.c(ref num3, num4, num, num2, array[3], 14u, 4107603335u);
this.c(ref num2, num3, num4, num, array[8], 20u, 1163531501u);
this.c(ref num, num2, num3, num4, array[13], 5u, 2850285829u);
this.c(ref num4, num, num2, num3, array[2], 9u, 4243563512u);
this.c(ref num3, num4, num, num2, array[7], 14u, 1735328473u);
this.c(ref num2, num3, num4, num, array[12], 20u, 2368359562u);
this.b(ref num, num2, num3, num4, array[5], 4u, 4294588738u);
this.b(ref num4, num, num2, num3, array[8], 11u, 2272392833u);
this.b(ref num3, num4, num, num2, array[11], 16u, 1839030562u);
this.b(ref num2, num3, num4, num, array[14], 23u, 4259657740u);
this.b(ref num, num2, num3, num4, array[1], 4u, 2763975236u);
this.b(ref num4, num, num2, num3, array[4], 11u, 1272893353u);
this.b(ref num3, num4, num, num2, array[7], 16u, 4139469664u);
this.b(ref num2, num3, num4, num, array[10], 23u, 3200236656u);
this.b(ref num, num2, num3, num4, array[13], 4u, 681279174u);
this.b(ref num4, num, num2, num3, array[0], 11u, 3936430074u);
this.b(ref num3, num4, num, num2, array[3], 16u, 3572445317u);
this.b(ref num2, num3, num4, num, array[6], 23u, 76029189u);
this.b(ref num, num2, num3, num4, array[9], 4u, 3654602809u);
this.b(ref num4, num, num2, num3, array[12], 11u, 3873151461u);
this.b(ref num3, num4, num, num2, array[15], 16u, 530742520u);
this.b(ref num2, num3, num4, num, array[2], 23u, 3299628645u);
this.a(ref num, num2, num3, num4, array[0], 6u, 4096336452u);
this.a(ref num4, num, num2, num3, array[7], 10u, 1126891415u);
this.a(ref num3, num4, num, num2, array[14], 15u, 2878612391u);
this.a(ref num2, num3, num4, num, array[5], 21u, 4237533241u);
this.a(ref num, num2, num3, num4, array[12], 6u, 1700485571u);
this.a(ref num4, num, num2, num3, array[3], 10u, 2399980690u);
this.a(ref num3, num4, num, num2, array[10], 15u, 4293915773u);
this.a(ref num2, num3, num4, num, array[1], 21u, 2240044497u);
this.a(ref num, num2, num3, num4, array[8], 6u, 1873313359u);
this.a(ref num4, num, num2, num3, array[15], 10u, 4264355552u);
this.a(ref num3, num4, num, num2, array[6], 15u, 2734768916u);
this.a(ref num2, num3, num4, num, array[13], 21u, 1309151649u);
this.a(ref num, num2, num3, num4, array[4], 6u, 4149444226u);
this.a(ref num4, num, num2, num3, array[11], 10u, 3174756917u);
this.a(ref num3, num4, num, num2, array[2], 15u, 718787259u);
this.a(ref num2, num3, num4, num, array[9], 21u, 3951481745u);
this.r[0] += num;
this.r[1] += num2;
this.r[2] += num3;
this.r[3] += num4;
int num5 = 0;
int num6 = 1;
while (true)
{
bool flag;
switch (num6)
{
case 0:
goto IL_6C6;
case 1:
goto IL_6A2;
case 2:
goto IL_6A2;
case 3:
if (!flag)
{
num6 = 0;
continue;
}
array[num5] = 0u;
num5++;
num6 = 2;
continue;
}
break;
IL_6A2:
flag = (num5 < 16);
num6 = 3;
}
}
IL_6C6:
if (true)
{
}
return;
}
goto IL_0E;
}
private void a(ref byte[] A_0, uint[] A_1, uint A_2)
{
while (true)
{
bool flag = !BitConverter.IsLittleEndian;
int num = 1;
while (true)
{
uint num3;
switch (num)
{
case 0:
num = 7;
continue;
case 1:
{
if (!flag)
{
num = 11;
continue;
}
uint num2 = 0u;
num3 = 0u;
if (true)
{
}
num = 3;
continue;
}
case 2:
goto IL_195;
case 3:
goto IL_164;
case 4:
goto IL_195;
case 5:
{
if (!flag)
{
num = 10;
continue;
}
uint num2;
A_0[(int)((UIntPtr)num3)] = (byte)(A_1[(int)((UIntPtr)num2)] & 255u);
A_0[(int)((UIntPtr)(num3 + 1u))] = (byte)(A_1[(int)((UIntPtr)num2)] >> 8 & 255u);
A_0[(int)((UIntPtr)(num3 + 2u))] = (byte)(A_1[(int)((UIntPtr)num2)] >> 16 & 255u);
A_0[(int)((UIntPtr)(num3 + 3u))] = (byte)(A_1[(int)((UIntPtr)num2)] >> 24 & 255u);
num2 += 1u;
num3 += 4u;
num = 2;
continue;
}
return;
case 7:
return;
case 8:
goto IL_164;
case 9:
{
if (!flag)
{
num = 0;
continue;
}
uint num2;
A_0[(int)((UIntPtr)(num3 + 3u))] = (byte)(A_1[(int)((UIntPtr)num2)] & 255u);
A_0[(int)((UIntPtr)(num3 + 2u))] = (byte)(A_1[(int)((UIntPtr)num2)] >> 8 & 255u);
A_0[(int)((UIntPtr)(num3 + 1u))] = (byte)(A_1[(int)((UIntPtr)num2)] >> 16 & 255u);
A_0[(int)((UIntPtr)num3)] = (byte)(A_1[(int)((UIntPtr)num2)] >> 24 & 255u);
num2 += 1u;
num3 += 4u;
num = 8;
continue;
}
case 10:
num = 6;
continue;
case 11:
{
uint num2 = 0u;
num3 = 0u;
num = 4;
continue;
}
}
break;
IL_164:
flag = (num3 < A_2);
num = 9;
continue;
IL_195:
flag = (num3 < A_2);
num = 5;
}
}
}
private void a(ref uint[] A_0, byte[] A_1, uint A_2)
{
while (true)
{
bool flag = !BitConverter.IsLittleEndian;
int num = 5;
while (true)
{
uint num3;
switch (num)
{
case 0:
num = 4;
continue;
case 1:
{
if (!flag)
{
num = 9;
continue;
}
uint num2;
A_0[(int)((UIntPtr)num2)] = (uint)((int)A_1[(int)((UIntPtr)num3)] | (int)A_1[(int)((UIntPtr)(num3 + 1u))] << 8 | (int)A_1[(int)((UIntPtr)(num3 + 2u))] << 16 | (int)A_1[(int)((UIntPtr)(num3 + 3u))] << 24);
num2 += 1u;
num3 += 4u;
num = 3;
continue;
}
case 2:
{
uint num2 = 0u;
num3 = 0u;
num = 8;
continue;
}
case 3:
goto IL_13B;
case 4:
return;
case 5:
{
if (!flag)
{
num = 2;
continue;
}
uint num2 = 0u;
num3 = 0u;
num = 7;
continue;
}
case 6:
if (true)
{
}
goto IL_10A;
case 7:
goto IL_10A;
case 8:
goto IL_13B;
case 9:
num = 10;
continue;
case 10:
return;
case 11:
{
if (!flag)
{
num = 0;
continue;
}
uint num2;
A_0[(int)((UIntPtr)num2)] = (uint)((int)A_1[(int)((UIntPtr)(num3 + 3u))] | (int)A_1[(int)((UIntPtr)(num3 + 2u))] << 8 | (int)A_1[(int)((UIntPtr)(num3 + 1u))] << 16 | (int)A_1[(int)((UIntPtr)num3)] << 24);
num2 += 1u;
num3 += 4u;
num = 6;
continue;
}
}
break;
IL_10A:
flag = (num3 < A_2);
num = 11;
continue;
IL_13B:
flag = (num3 < A_2);
num = 1;
}
}
}
private uint a(uint A_0, uint A_1)
{
uint result = A_0 << (int)A_1 | A_0 >> (int)(32u - A_1);
if (true)
{
}
return result;
}
private uint d(uint A_0, uint A_1, uint A_2)
{
if (true)
{
}
return (A_0 & A_1) | (~A_0 & A_2);
}
private uint c(uint A_0, uint A_1, uint A_2)
{
uint result = (A_0 & A_2) | (A_1 & ~A_2);
if (true)
{
}
return result;
}
private uint b(uint A_0, uint A_1, uint A_2)
{
return A_0 ^ A_1 ^ A_2;
}
private uint a(uint A_0, uint A_1, uint A_2)
{
if (true)
{
}
return A_1 ^ (A_0 | ~A_2);
}
private void d(ref uint A_0, uint A_1, uint A_2, uint A_3, uint A_4, uint A_5, uint A_6)
{
if (true)
{
}
A_0 += this.d(A_1, A_2, A_3) + A_4 + A_6;
A_0 = this.a(A_0, A_5) + A_1;
}
private void c(ref uint A_0, uint A_1, uint A_2, uint A_3, uint A_4, uint A_5, uint A_6)
{
if (true)
{
}
A_0 += this.c(A_1, A_2, A_3) + A_4 + A_6;
A_0 = this.a(A_0, A_5) + A_1;
}
private void b(ref uint A_0, uint A_1, uint A_2, uint A_3, uint A_4, uint A_5, uint A_6)
{
if (true)
{
}
A_0 += this.b(A_1, A_2, A_3) + A_4 + A_6;
A_0 = this.a(A_0, A_5) + A_1;
}
private void a(ref uint A_0, uint A_1, uint A_2, uint A_3, uint A_4, uint A_5, uint A_6)
{
if (true)
{
}
A_0 += this.a(A_1, A_2, A_3) + A_4 + A_6;
A_0 = this.a(A_0, A_5) + A_1;
}
static HmacMD5()
{
// Note: this type is ed as 'beforefieldinit'.
byte[] array = new byte[64];
array[0] = 128;
HmacMD5.u = array;
}
}
}