2009-08-26 11 views

Antwort

16
+1

+1 für diese, außer der Tatsache wird es ein Schmerz für die Benutzer zu geben (senden Sie ihnen eine E-Mail, damit sie kopieren/einfügen) es ist einzigartig und wird höchstwahrscheinlich nicht neu erstellt werden . –

+4

Ich weiß nicht über diesen. Wenn die Expansion und Kontraktion des Universums in der Tat zyklisch statt one-shot ist, werden Sie schließlich Duplikate erhalten. – MusiGenesis

+2

Ich denke, Guid.NewGuid() verwendet bereits CurrentUniverseSize(), so dass es in beide Richtungen funktioniert. –

1

Sie sollten wahrscheinlich verwenden nur eine Guid

2

Guid.NewGuid(). ToString()

Wenn Sie nicht über eine 36-Zeichenlänge ausmacht.

4

Es hängt von Ihren Zielen ab. Eine GUID ist einfach zu generieren, aber es ist ein Schmerz, wenn der Benutzer es manuell eingeben muss. Dies ist in Ordnung, wenn die Aktivierung durch (sagen wir) Klicken auf eine in der E-Mail angegebene URL erfolgt oder wenn Sie erwarten, dass der Benutzer einen Wert aus einer Aktivierungs-E-Mail kopiert und einfügt. In anderen Fällen (z. B. Schrumpfverpackungssoftware, bei der der Aktivierungscode physikalisch auf die Verpackung gedruckt wird), gibt der Benutzer den Code manuell ein. In diesem Fall sollten Sie eine Methode verwenden, die der von Microsoft und Blizzard ähnelt: Erstellen Sie einen Code, der aus fünf Gruppen von fünf zufälligen alphanumerischen Zeichen besteht (lassen Sie Vokale weg, wenn Sie das Risiko vermeiden möchten, dass ein Aktivierungscode etwas enthält) 4SHIT), und überprüfen Sie jeden erzeugten Code gegen eine Master-Liste für Duplikate. (Obwohl ich denke, dass die Wahrscheinlichkeit einer 100.000-Sequenz, die aus einem {1, 2, ... 34^26 - 1} extrahiert wurde, ziemlich klein ist, ist schwer zu sagen, denn die einzige Art, die ich kenne, ist die Berechnung es überläuft ein Doppel.)

Verwandte Themen