当前位置:编程学习 > C#/ASP.NET >>

求代码分析,请帮忙分析一下这3段代码的意思,谢谢

第一次接触.net,看不懂者段代码的意思,请各位大神解读一下:
        if (this.tboZCH.Text.Trim().Length == 0x11)
        {
            char[] chArray = this.tboZCH.Text.Trim().ToUpper().ToCharArray();
            string pID = this.GetPID(this.txtUser.Text.Trim(), Conversions.ToString(chArray[7]));
            if ((Conversions.ToString(chArray[2]) + Conversions.ToString(chArray[3]) + Conversions.ToString(chArray[4]) + Conversions.ToString(chArray[8]) + Conversions.ToString(chArray[9]) + Conversions.ToString(chArray[10]) + Conversions.ToString(chArray[12]) + Conversions.ToString(chArray[13]) + Conversions.ToString(chArray[14])) == pID)
            {
                MySettingsProperty.Settings.PID = this.tboZCH.Text.Trim().ToUpper();
                MySettingsProperty.Settings.UserName = this.txtUser.Text.Trim();
                MySettingsProperty.Settings.Save();
                Interaction.MsgBox("恭喜,已经完成!", MsgBoxStyle.Information, "操作提示");
                this.Close();
                GlobalMOD.OPTVer = Conversions.ToString(chArray[7]);
                GlobalMOD.XZCode = Convert.ToInt32(Conversions.ToString(chArray[0]) + Conversions.ToString(chArray[1]) + Conversions.ToString(chArray[6]) + Conversions.ToString(chArray[15]) + Conversions.ToString(chArray[0x10]), 0x10).ToString();
                while (Conversions.ToString(GlobalMOD.XZCode[GlobalMOD.XZCode.Length - 1]) == "0")
                {
                    GlobalMOD.XZCode = GlobalMOD.XZCode.Substring(0, GlobalMOD.XZCode.Length - 1);
                }
                return;
            }
        }
--------------------------------
private string GetMACCode()
{
    string str;
    try
    {
        ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
        string str3 = "";
        foreach (ManagementObject obj2 in searcher.Get())
        {
            str3 = Conversions.ToString(obj2["ProcessorId"]);
        }
        long num = Math.Abs(str3.GetHashCode());
        searcher = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
        string left = "";
        foreach (ManagementObject obj3 in searcher.Get())
        {
            left = Conversions.ToString(obj3["Manufacturer"]);
            left = Conversions.ToString(Operators.ConcatenateObject(left, obj3["Product"]));
            left = Conversions.ToString(Operators.ConcatenateObject(left, obj3["SerialNumber"]));
        }
        long num2 = Math.Abs(left.GetHashCode());
        str = Math.Abs((long) (num + num2)).ToString();
    }
    catch (Exception exception1)
    {
        ProjectData.SetProjectError(exception1);
        Exception exception = exception1;
        str = "3236191212";
        ProjectData.ClearProjectError();
        return str;
        ProjectData.ClearProjectError();
    }
    return str;
}
---------------------------
private string GetPID(string UserName, string BB)
{
    ulong num;
    int num6;
    long num2 = Math.Abs(UserName.GetHashCode());
    string str = Math.Abs((long) (Conversions.ToLong(this.GetMACCode()) - num2)).ToString();
    if (BB == "F")
    {
        num = (ulong) (Conversions.ToLong(str) * 0x1e1863L);
    }
    else
    {
        num = (ulong) (Conversions.ToLong(str) * 0x4c96aL);
    }
    string str3 = "";
    int num4 = 0;
    do
    {
        int charCode = (int) (((long) num) & 0x1fL);
        if (charCode < 14)
        {
            charCode += 0x41;
        }
        else if (charCode >= 0x18)
        {
            charCode = (charCode - 0x18) + 50;
        }
        else
        {
            charCode = (charCode - 14) + 80;
        }
        if (charCode == 0x49)
        {
            charCode = 0x38;
        }
        str3 = str3 + Conversions.ToString(Strings.Chr(charCode));
        num = num >> 5;
        num4++;
        num6 = 8;
    }
    while (num4 <= num6);
    return str3;
}

 

 

 

 
--------------------编程问答-------------------- 根据Mac地址、用户名生成产品序列号或者密钥一类的东西。并且验证。 --------------------编程问答-------------------- MAC部分是怎么获取来计算的啊,最后那部分的计算好复杂,师傅可否具体指点一二?
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,