system-identification - machine - hwid c#
Identificación única de la computadora (3)
Como ha dicho, la Id. De CPU no será única, sin embargo, puede usarla con otro identificador de hardware para crear su propia clave única.
Montaje de referencia System.Management
Por lo tanto, use este código para obtener la ID de la 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;
}
Luego usa este código para obtener la ID HD:
string drive = "C";
ManagementObject dsk = new ManagementObject(
@"win32_logicaldisk.deviceid=""" + drive + @":""");
dsk.Get();
string volumeSerial = dsk["VolumeSerialNumber"].ToString();
Entonces, puedes combinar estas dos publicaciones seriadas para obtener un identificador único para esa máquina:
string uniqueId = cpuInfo + volumeSerial;
Obviamente, cuantos más componentes de hardware obtenga los identificadores, mayor será la singularidad. Sin embargo, las posibilidades de que la misma máquina tenga una serie de CPU idéntica y una serie de disco duro ya son casi inexistentes.
Estoy buscando una forma de obtener una ID de computadora única.
De acuerdo con esta publicación, no puedo usar la ID del procesador para este propósito. ¿Puedo tomar la identificación de la placa base? ¿Cuál es la mejor manera de identificar la computadora?
Dirección MAC del adaptador de red? Identificador de seguridad (SID) del sistema operativo de Windows? (suponiendo que se trata de Windows) ¿Podría generar un GUID para cada PC?
¿Qué estás tratando de lograr exactamente?
El ID de la placa base es un identificador bastante único. Otra opción es usar la dirección MAC de las tarjetas de red, que son bastante únicas.