日期:2014-05-18  浏览次数:20777 次

Reflector后的一个函数,求高手解答
Reflector后的一个函数,求高手解答,能给出函数源码的得分

public static string Md5hash_String(string InputString)
  {
  string str2;
  int num3;
  try
  {
  int num4;
  Label_0000:
  ProjectData.ClearProjectError();
  int num2 = -2;
  Label_0009:
  num4 = 2;
  string str = "";
  Label_0012:
  num4 = 3;
  byte[] bytes = new ASCIIEncoding().GetBytes(InputString);
  Label_0021:
  num4 = 4;
  byte[] buffer2 = ((HashAlgorithm) CryptoConfig.CreateFromName("MD5")).ComputeHash(bytes);
  Label_003A:
  num4 = 5;
  int index = 0;
  Label_003F:
  num4 = 6;
  string expression = Conversion.Hex(buffer2[index]).ToLower();
  Label_0051:
  num4 = 7;
  if (Strings.Len(expression) != 1)
  {
  goto Label_006F;
  }
  Label_005E:
  num4 = 8;
  expression = "0" + expression;
  Label_006F:
  num4 = 10;
  str = str + expression;
  Label_007C:
  num4 = 11;
  index++;
  if (index <= 15)
  {
  goto Label_003F;
  }
  Label_0089:
  num4 = 12;
  str2 = Strings.UCase(str);
  goto Label_0130;
  Label_009F:
  num3 = 0;
  switch ((num3 + 1))
  {
  case 1:
  goto Label_0000;

  case 2:
  goto Label_0009;

  case 3:
  goto Label_0012;

  case 4:
  goto Label_0021;

  case 5:
  goto Label_003A;

  case 6:
  goto Label_003F;

  case 7:
  goto Label_0051;

  case 8:
  goto Label_005E;

  case 9:
  case 10:
  goto Label_006F;

  case 11:
  goto Label_007C;

  case 12:
  goto Label_0089;

  case 13:
  goto Label_0130;

  default:
  goto Label_0125;
  }
  Label_00E5:
  num3 = num4;
  switch (((num2 > -2) ? num2 : 1))
  {
  case 0:
  goto Label_0125;

  case 1:
  goto Label_009F;
  }