现在的位置: 首页 > 综合 > 正文

C#获取CPU、硬盘、Mac地址并使用CPU和Mac地址生成注册码

2014年08月29日 ⁄ 综合 ⁄ 共 1359字 ⁄ 字号 评论关闭
public static string GetMachineCode()
        {
            string machineCode = "";
            MD5CryptoServiceProvider provider1;
            byte[] array1;
            string text1;
            string text2;
            byte num1;
            byte[] array2;
            int num2;
            provider1 = new MD5CryptoServiceProvider();
            string cpuInfo = "";//CPU 序列号
            ManagementClass cimobject = new ManagementClass("Win32_Processor");
            ManagementObjectCollection moc = cimobject.GetInstances();
            foreach (ManagementObject mo in moc)
            {
                cpuInfo += mo.Properties["ProcessorId"].Value.ToString();
            }
            //获取硬盘ID
            string HDid = "";
            ManagementClass cimobjectHDid = new ManagementClass("Win32_DiskDrive");
            ManagementObjectCollection mocHDid = cimobjectHDid.GetInstances();
            foreach (ManagementObject mo in mocHDid)
            {
                HDid += (string)mo.Properties["Model"].Value;
            }

            //获取网卡硬件地址
            string strMac = "";
            ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection mocMac = mc.GetInstances();
            foreach (ManagementObject mo in mocMac)
            {
                if ((bool)mo["IPEnabled"] == true)
                    strMac += mo["MacAddress"].ToString();
                mo.Dispose();
            }

            array1 = provider1.ComputeHash(Encoding.Default.GetBytes(cpuInfo + strMac));
            text1 = "ENTOPYMICROSYSTEMSDEVINIMMUHENDISLIK231456789ACD23456789AEFABGHJKLMNPRSTUVWYZXAHMETALIAKKASHAKANESKICI";
            text2 = string.Empty;
            array2 = array1;
            for (num2 = 0; (num2 < array2.Length); num2 = (num2 + 1))
            {
                num1 = array2[num2];
                text2 = string.Concat(text2, text1.Substring((num1 % text1.Length), 1));
            }
            machineCode = text2.Substring(0, 10);
            return machineCode;
            //return cpuInfo + HDid + strMac;
        }

抱歉!评论已关闭.