Question

Qu'est-ce qu'un bon moyen de générer au hasard quelques-uns sans risque à être-aléatoire généré à nouveau les codes d'activation à utiliser pour activer le logiciel? Je fais un système accomplissement automatique pour une application Web.

J'utilise C #.

Était-ce utile?

La solution

Autres conseils

Cela dépend de vos objectifs. Un GUID est simple à produire, mais il est une douleur si l'utilisateur doit entrer manuellement. C'est très bien si l'activation se passe par (par exemple) en cliquant sur une URL fournie dans le courrier électronique, ou si vous pouvez vous attendre à l'utilisateur de copier et coller une valeur à partir d'un e-mail d'activation.

Dans d'autres cas (par exemple le logiciel shrinkwrapped où le code d'activation est physiquement imprimé sur l'emballage d'une manière quelconque), l'utilisateur peut saisir manuellement le code. Dans ce cas, vous êtes mieux d'utiliser une méthode semblable à ce que l'utilisation de Microsoft et Blizzard: générer un code composé de cinq groupes de cinq caractères alphanumériques aléatoires (omettre les voyelles si vous voulez éliminer le risque qu'un code d'activation contient quelque chose comme 4SHIT), et vérifier chaque code généré contre une liste maîtresse de doublons. (Bien que je pense que les chances de même 100 000 séquence extraite de {1, 2, ... 34 ^ 26-1} contenant un duplicata sont assez petits Il est difficile de dire à coup sûr, parce que la seule façon que je connaisse de calcul. elle déborde un double.)

Guid.NewGuid (). ToString ()

Si vous ne me dérange pas une longueur de 36 caractères.

Vous devriez probablement utiliser un Guid

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top