- 爱易网页
 
                        - 
                            C#教程
 
                        - Reflector后的一个函数,求高手解答,该如何处理 
 
                         
                    
                    
                    日期:2014-05-18  浏览次数:20927 次 
                    
                        
                         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;
                 }