独特的计算机ID

我正在寻找一种方法来获得独特的计算机ID。 根据这篇文章,我不能使用处理器ID为此目的。 我可以拿主板ID吗? 识别电脑的最好方法是什么?
感谢您的帮助!

就像你说的CPU ID不会是唯一的,但你可以使用它与另一个硬件标识符来创build自己的唯一键。

引用程序集System.Management

所以,使用这个代码来获得CPU ID:

 string cpuInfo = string.Empty; ManagementClass mc = new ManagementClass("win32_processor"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { cpuInfo = mo.Properties["processorID"].Value.ToString(); break; } 

然后使用此代码获取高清ID:

 string drive = "C"; ManagementObject dsk = new ManagementObject( @"win32_logicaldisk.deviceid=""" + drive + @":"""); dsk.Get(); string volumeSerial = dsk["VolumeSerialNumber"].ToString(); 

然后,您可以将这两个序列组合起来以获得该机器的uniqueId:

 string uniqueId = cpuInfo + volumeSerial; 

显然,你得到的ID越多,硬件的独特性就越大。 但是,具有相同CPU序列和硬盘序列的同一台机器的机会已经很less。

主板ID是一个非常独特的标识符。 另一个select是使用网卡MAC地址,这是非常独特的。

networking适​​配器的MAC地址? Windows操作系统安装的安全标识符(SID)? (假设你正在处理的是Windows)你可以为每个PC生成一个GUID吗?

你究竟想达到什么目的?

Interesting Posts