您的位置:首页 > 编程语言 > C#

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

2013-09-12 09:53 471 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐