Domanda

Sto usando C # e .NET 2.0. La mia app ha bisogno di qualche modo per controllare i diversi utenti in modo userò id hardware, ma ho visto che posso usare solo:

  • indirizzo MAC - facilmente modificabili e non tutti lo hanno // NO
  • processore id - utilizzando WMI restituisce un valore per il modello di CPU, non è unica // NO
  • di serie della scheda madre - non ogni madre l'ha // NO
  • il volume di serie del Windows - non sono sicuro se verrà cambiato su Windows reinstallazione e il formato del volume

Così, c'è qualcosa che non ho menzionato per HWID? Voglio qualcosa che tutti hanno e che non verranno cancellati su Windows reinstallazione. Altrimenti avrei dovuto usare il numero del volume di serie del finestre.


EDIT: Dalle commments penso che sia meglio usare HDD id. Come ottenerlo? EDIT2: Ho appena letto che le unità SCSI non hanno di serie. È vero?

EDIT FINALE: sto già utilizzando il serial unità principale sulla mia app. E 'il lavoro di abbastanza bene. Grazie a tutti.

È stato utile?

Soluzione

HDD Numero di serie: unica, immutabile, e tutti ce l'hanno.

Non una scelta perfetta, ma ...

Altri suggerimenti

Beh mi piacerebbe andare per più di un ID. Se si combinano abbastanza ID avranno abbastanza unicità.

EDIT: (. Platter, Cilindro ecc) si potrebbe anche andare per il posto sul disco rigido vostro programma è stato installato troppo

Perché si desidera utilizzare l'hardware Id? Mi piacerebbe andare con un qualche tipo di basata su form (o basato dC) la sicurezza, me stesso.

Dato che, però: La cosa HWID è che identifica che la configurazione particolare computer: è stato progettato per il cambiamento se ci sono modifiche al sistema. Si parla che di Windows Volume Serial potrebbe cambiare sulla reinstallazione e riformattare, ma il software non dovrete anche essere reinstallato a quel punto? HDD Serial potrebbe anche cambiare se, per esempio, l'utente swap HDD per qualche motivo.

Se si deve usare HWID, probabilmente dovrete selezionare uno (o più) delle opzioni disponibili per fornire unicità e neanche il codice in giro, o informare gli utenti circa, modifiche hardware che richiede un re-installazione e / o riconfigurare del software.

L'indirizzo MAC non è molto affidabile. Si dovrebbe usare qualcosa che non può essere cambiato una tale ID CPU o HDD IDE ID.

Ecco desiderare intendo:
http://www.soft.tahionic.com/download-hdd_id/index.html
http://www.soft.tahionic.com /download-hdd_id/hardware%20ID%20programmer%27s%20DLL.html


E per rispondere alla tua domanda, sì, SCSI non dispone di un ID hardware.

Dovete pensare alla sicurezza o solo l'affidabilità, cioè fa l'utente vuole manomettere il vostro check-ID? Se avete bisogno di (alto) di sicurezza, acquistare uno dei prodotti di "protezione del software", questo è molto più economico rispetto a farlo da soli.

No alta sicurezza richiesto? => Un'altra possibilità è quella di utilizzare l'utente o macchina SID. Bisogna prendere in considerazione che l'applicazione viene eseguita elvated => Utente amministratore poi.

Ultimo ma non meno importante: Scrivere un valore casuale di alcuni byte nel Registro di sistema (possibilmente in vari punti) in HKEY_CURRENT_USER e utilizzare questi come ID.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top