This article describes two methods of C# to generate mac address and IP address registration codes, and is shared with you for your reference. The specific methods are as follows:
Method 1:
using System; using ; using ; using ; using ; using ; namespace xingming_reg { class Program { static void Main(string[] args) { bool sucsess = false; string computerbit = ""; regmutou reg = new regmutou(); computerbit = ("X"); sucsess = (computerbit, "xinmin", ""); (sucsess); (); } } internal class regmutou { // Methods public string GetBIOSSerialNumber() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_BIOS"); string str = ""; foreach (ManagementObject obj2 in ()) { str = obj2["SerialNumber"].ToString().Trim(); } return str; } catch { return ""; } } public string getcomputerbit(string softname) { string cpuID = (); string bIOSSerialNumber = (); string hardDiskSerialNumber = (); string netCardMACAddress = (); if (cpuID != "") { MD5 md = new MD5CryptoServiceProvider(); cpuID = (((cpuID))).Replace("-", "").ToUpper().Substring(8, 0x10); return (softname + "C" + cpuID); } if (bIOSSerialNumber != "") { MD5 md2 = new MD5CryptoServiceProvider(); bIOSSerialNumber = (((bIOSSerialNumber))).Replace("-", "").ToUpper().Substring(8, 0x10); return (softname + "B" + bIOSSerialNumber); } if (hardDiskSerialNumber != "") { MD5 md3 = new MD5CryptoServiceProvider(); hardDiskSerialNumber = (((hardDiskSerialNumber))).Replace("-", "").ToUpper().Substring(8, 0x10); return (softname + "H" + hardDiskSerialNumber); } if (netCardMACAddress != "") { MD5 md4 = new MD5CryptoServiceProvider(); netCardMACAddress = (((netCardMACAddress))).Replace("-", "").ToUpper().Substring(8, 0x10); return (softname + "N" + netCardMACAddress); } return (softname + "WF53A419DB238BBAD"); } public string GetCpuID() { try { ManagementObjectCollection instances = new ManagementClass("Win32_Processor").GetInstances(); string str = null; foreach (ManagementObject obj2 in instances) { str = ["ProcessorId"].(); break; } return str; } catch { return ""; } } public string GetHardDiskSerialNumber() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); string str = ""; foreach (ManagementObject obj2 in ()) { str = obj2["SerialNumber"].ToString().Trim(); break; } return str; } catch { return ""; } } public string GetNetCardMACAddress() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))"); string str = ""; foreach (ManagementObject obj2 in ()) { str = obj2["MACAddress"].ToString().Trim(); } return str; } catch { return ""; } } public bool regmutousoft(string computerbit, string softname, string filename) { bool flag = true; string str = ""; SHA1 sha = new SHA1CryptoServiceProvider(); str = (((softname))).Replace("-", "").ToUpper(); //if (!(filename)) //{ // flag = false; // Stream stream = (filename, ); // StreamWriter writer = new StreamWriter(stream); // (computerbit); // (); // (); // return flag; //} //Stream stream2 = (filename, ); //StreamReader reader = new StreamReader(stream2); //string str2 = ""; string str3 = computerbit; //while ((str2 = ()) != null) //{ // str3 = str2; //} //(); //(); //if ( != 0x18) //{ // //return false; //} SHA1 sha2 = new SHA1CryptoServiceProvider(); string str4 = (((computerbit))).Replace("-", "").ToUpper(); string str5 = ""; for (int i = 0; i < ; i++) { if ((i % 2) == 1) { str5 = str5 + str4[i]; } } string str6 = ""; for (int j = 0; j < ; j++) { if ((j % 2) == 0) { str6 = str6 + str[j]; } } int[] numArray = new int[20]; for (int k = 0; k < 20; k++) { numArray[k] = str6[k] + str5[k]; numArray[k] = numArray[k] % 0x24; } string str7 = ""; for (int m = 0; m < 20; m++) { if ((m > 0) && ((m % 4) == 0)) { str7 = str7 + "-"; } str7 = str7 + "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[numArray[m]]; } if (str3 == str7) { flag = true; } ("Machine Code:" + str3); ("Register code:"+str7); return flag; } } }
Method 2:
using ; //Win32_NetworkAdapterConfiguration is the information table used in the WMI database to store network devicesManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled='TRUE'"); //ManagementObjectCollection object is used to store query resultsManagementObjectCollection queryCollection = (); foreach (ManagementObject mo in queryCollection) { ("Network Card:{0}", mo["Description"]); ("MAC Address:{0}", mo["MACAddress"]); //addresses, subnets and defaultgateways values can contain multiple arrays of value. //To adapt to this situation, in order to adapt to this situation, the user must assign the result to an array of strings, // and use the foreach statement to pass the string array again string[] addresses = (string[])mo["IPAddress"]; string[] subnets = (string[])mo["IPSubnet"]; string[] defaultgateways = (string[])mo["DefaultIPGateway"]; //Any interface may have multiple IP addresses foreach (string ipaddress in addresses) { ("IP Address:{0}", ipaddress); } foreach (string subnet in subnets) { ("Subnet Mask:{0}", subnet); } foreach (string defaultgateway in defaultgateways) { ("Gateway:{0}", defaultgateway); } (); }
I hope this article will be helpful to everyone's C# programming.