Pregunta

Estoy buscando una manera de obtener una identificación de computadora única.

De acuerdo a esta publicación No puedo usar el ID de procesador para este propósito. ¿Puedo tomar ID de placa base? ¿Cuál es la mejor manera de identificar la computadora?

¿Fue útil?

Solución

Como ha dicho que la ID de CPU no será única, sin embargo, puede usarlo con otro identificador de hardware para crear su propia clave única.

Asamblea de referencia System.Management

Entonces, use este código para obtener la ID de 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 use este código para obtener el ID HD:

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

Luego, puede combinar estas dos series para obtener un INSNICINID para esa máquina:

string uniqueId = cpuInfo + volumeSerial;

Obviamente, cuantos más componentes de hardware obtenga los ID, mayor será la singularidad. Sin embargo, las posibilidades de que la misma máquina tenga una serie idéntica de CPU y una serie de disco duro ya no son escasas a ninguna.

Otros consejos

La identificación 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.

¿Dirección MAC del adaptador de red? ¿Identificador de seguridad (SID) de la instalación del sistema operativo Windows? (Suponiendo que se trata de Windows) ¿Podría generar un GUID para cada PC?

¿Qué estás tratando exactamente de lograr?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top