Уникальный идентификатор компьютера

Я ищу способ получить уникальный идентификатор компьютера.

Согласно этой записи я не могу использовать ID процессора для этой цели. Могу ли я взять ID материнской платы? Как лучше всего идентифицировать компьютер?

30
задан Lii 25 April 2018 в 08:31
поделиться

3 ответа

Как вы уже сказали, CPU Id не будет уникальным, однако вы можете использовать его с другим аппаратным идентификатором, чтобы создать свой собственный уникальный ключ.

Справочная сборка System.Management

Итак, используйте этот код для получения идентификатора CPU:

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;
}

Затем используйте этот код для получения идентификатора HD:

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

Затем вы можете просто объединить эти два серийника, чтобы получить уникальный идентификатор для этой машины:

string uniqueId = cpuInfo + volumeSerial;

Очевидно, что чем больше аппаратных компонентов вы получите идентификаторы, тем выше будет уникальность. Однако вероятность того, что одна и та же машина будет иметь идентичные серийные номера процессора и жесткого диска, уже ничтожно мала.

37
ответ дан 28 November 2019 в 00:06
поделиться

ID материнской платы - довольно уникальный идентификатор. Другой вариант - использовать MAC-адрес сетевых карт, которые в значительной степени уникальны.

4
ответ дан 28 November 2019 в 00:06
поделиться

MAC-адрес сетевого адаптера? Идентификатор безопасности (SID) установленной ОС Windows? (при условии, что вы имеете дело с окнами) Не могли бы вы просто сгенерировать GUID для каждого ПК?

Чего именно вы пытаетесь достичь?

4
ответ дан 28 November 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: