alternativa al seriale della scheda madre per identificativo univoco?


0

Devo utilizzare un ID univoco per idenrificare un PC, anche dopo aver ricaricato il sistema operativo. Dopo aver fatto qualche ricerca per trovare il miglior identificatore univoco, ho deciso il numero di serie della scheda madre. Ma sulla mia macchina restituisce null per il numero di serie. Esiste un altro identificatore univoco che posso usare oltre all'indirizzo MAC?

PS C:\Users\user\Desktop> wmic baseboard get product,Manufacturer,version,serialnumber
Manufacturer  Product  SerialNumber  Version
LENOVO        LENOVO   NONE          NONE

Risposte:


1

Suggerisco di dare un'occhiata all'articolo del Code Project relativo alla
generazione di chiavi uniche (impronte digitali) per un computer a scopi di licenza .

Lì troverai il codice in C # che a sua volta è stato trovato dall'autore e che lui stesso usa per le sue esigenze di licenza.

L'autore elenca questi punti molto sensibili:

  • Generare una chiave solo dalla scheda madre, dal processore e dal BIOS poiché l'utente normalmente non modifica queste parti.
  • Non utilizzare ID MAC, ID scheda grafica E ID disco poiché è molto comune cambiare questi dispositivi.
  • Ci vuole molto tempo per ottenere gli ID dei dispositivi. Quindi rendere statica la funzione di generazione dell'impronta digitale e salvarla in una variabile statica in modo che generi la chiave una sola volta nell'intera applicazione.

Per quanto riguarda il numero di serie della scheda madre restituito come nullo, questa è una questione diversa che merita ulteriori studi. È possibile che il codice incluso nell'articolo funzionerà meglio o che la CPU e il disco potrebbero funzionare laddove la seriale della scheda madre è inaccessibile.

Osservo che non è necessaria una funzione che utilizza dati universalmente disponibili, poiché hardware diverso potrebbe non disporre di tutti i seriali desiderati. Tutto ciò di cui hai bisogno è concatenare i dati da un numero di fonti, saltando quelli che non sono disponibili, essendo semplicemente ragionevolmente sicuro che la stringa di impronte digitali risultante totale da quelle disponibili sarà piuttosto unica.


Scusa, la tua risposta è apparsa mentre stavo scrivendo e controllando la mia. Forse sai se l'UUID è una buona soluzione.
AFH,

@AFH: UUID è di solito piuttosto unico, a meno che non sia auto-generato, ma UUID di cosa?
harrymc,

È incluso nelle informazioni di sistema, insieme a un numero di serie del sistema (che non è definito su uno dei miei laptop).
AFH,

@AFH: Non lo so, ma potrebbe essere un'alternativa dove può essere trovato. Il poster non ha bisogno di una funzione seriale che utilizza seriali universalmente disponibili, ma solo una funzione che imprimerà un determinato computer.
harrymc,

1
Il valore viene restituito con wmic csproduct get uuid, secondo questo link . Se è generalmente implementato, allora è una soluzione più semplice rispetto alla creazione e al salvataggio di un identificatore composito.
AFH,

0

Il numero di serie della scheda madre è un buon identificatore, ma non tutti i produttori lo codificano nel firmware .

L'indirizzo MAC è OK, ma quale? Un laptop può essere collegato tramite Ethernet, WiFi integrato o USB WiFi per prestazioni migliori.

C'è un UUID di sistema, che è per definizione unico, ma non posso essere sicuro che sia implementato universalmente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.