Domanda

Che cosa è un buon modo per generare in modo casuale alcuni non-probabilmente-to-be-di nuovo casualmente generati i codici di attivazione da utilizzare per l'attivazione del software? Sto facendo un sistema di auto-realizzazione per un'applicazione Web.

Sto usando C #.

È stato utile?

Altri suggerimenti

Dipende dai vostri obiettivi. Un GUID è semplice da generare, ma è un dolore se l'utente deve inserire manualmente. Questo va bene se l'attivazione avviene con (diciamo) cliccando su un URL fornito in email, o se ci si può aspettare all'utente di copiare e incollare un valore da una e-mail di attivazione.

In altri casi (ad esempio shrinkwrapped software in cui il codice di attivazione è fisicamente stampato sulla confezione in qualche modo), l'utente sarà manualmente inserendo il codice. In questo caso, è meglio utilizzare un metodo simile a quello che Microsoft e l'uso Blizzard: generare un codice composto da cinque gruppi di cinque caratteri alfanumerici casuali (omettere vocali se si vuole eliminare il rischio che una volontà codice di attivazione contiene qualcosa di simile 4SHIT), e verificare ogni codice generato contro un elenco principale per i duplicati. (Anche se penso che le probabilità di addirittura un 100.000 sequenza estratta da {1, 2, ... 34 ^ 26-1} contenente un duplicato sono piuttosto piccole E 'difficile dire con certezza, perché l'unico modo che conosco di calcolo. trabocca una doppia.)

Guid.NewGuid (). ToString ()

Se non ti dispiace una lunghezza di 36 caratteri.

Probabilmente si dovrebbe semplicemente usare un GUID

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