【C#】获取机器码MachineCode
来源:互联网 发布:矿山塌陷预测 软件 编辑:程序博客网 时间:2024/06/01 09:15
需求:机器码可以用于校验用户是否用的同一台电脑登录,比如在别的机器上登录时做强制下线(踢人下线)。通常在用户注册时,计算一次用户的机器码跟随注册信息一起发送给服务器。
机器码的作用看百度百科:
定义规则:
机器码 = CPU序列号 + 硬盘ID + 网卡硬件地址
public class MachineCode{ static MachineCode machineCode; public static string GetMachineCodeString() { string machineCodeString = string.Empty; if (machineCode == null) { machineCode = new MachineCode(); } machineCodeString = "PC." + machineCode.GetCpuInfo() + "." + machineCode.GetHDid() + "." + machineCode.GetMoAddress(); return machineCodeString; } /// <summary> /// 获取cpu序列号 /// </summary> /// <returns> string </returns> public string GetCpuInfo() { string cpuInfo = ""; try { using (ManagementClass cimobject = new ManagementClass("Win32_Processor")) { ManagementObjectCollection moc = cimobject.GetInstances(); foreach (ManagementObject mo in moc) { cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); mo.Dispose(); } } } catch (Exception) { throw; } return cpuInfo.ToString(); } /// <summary> /// 获取硬盘ID /// </summary> /// <returns> string </returns> public string GetHDid() { string HDid = ""; try { using (ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive")) { ManagementObjectCollection moc1 = cimobject1.GetInstances(); foreach (ManagementObject mo in moc1) { HDid = (string)mo.Properties["Model"].Value; mo.Dispose(); } } } catch (Exception) { throw; } return HDid.ToString(); } /// <summary> /// 获取网卡硬件地址 /// </summary> /// <returns> string </returns> public string GetMoAddress() { string MoAddress = ""; try { using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration")) { ManagementObjectCollection moc2 = mc.GetInstances(); foreach (ManagementObject mo in moc2) { if ((bool)mo["IPEnabled"] == true) MoAddress = mo["MacAddress"].ToString(); mo.Dispose(); } } } catch (Exception) { throw; } return MoAddress.ToString(); }}
原文地址:
http://group.cnblogs.com/topic/32913.html
0 0
- 【C#】获取机器码MachineCode
- [C#] C#代码获取机器码
- 获取机器码
- 获取机器码
- C#获取机器码
- .net-c# 获取机器码
- c#获取机器码
- C#获取机器码
- .net-c# 获取机器码
- android 机器码获取/ 品牌获取 / 型号获取
- 机器码
- 机器码
- 机器码
- 机器码
- WMI 基础知识 及获取机器码的类
- Android 获取唯一机器码的代码
- Android 获取唯一机器码的代码
- Android 获取唯一机器码的代码
- POJ1061_青蛙的约会_扩展欧几里得
- ArrayList和LinkedList的对比
- ip分包研究-以UDP为例
- SGI STL学习笔记(3):copy算法实现细节
- 如何在Android中避免创建不必要的对象
- 【C#】获取机器码MachineCode
- 使用微软官方工具在VS中调试Unity脚本
- 判断是哪一种编码格式
- 一步一步学MySQL----1 数据库入门
- java 文件下载代码,个人认为这是最简单的,只需三步,即可下载。
- 逐浪技术堂:FarmVet Systems 使用 SQL Server 与 Visual Studio 开发移动数据应用,提升农场兽医效率
- php安装mongodb驱动时遇到的错误
- ubuntu下执行shell脚本报错 Syntax error: "(" unexpected
- 2段階SSH接続を,ProxyCommandを使って一度のsshコマンドで接続する