Ich versuche, einen einzigartigen CD-KEY zu erstellen, wie in einem normalen CD-KEY in Standard-Software-Boxen, die Benutzer verwenden, um das Produkt zu registrieren.Algorithmus für einzigartige CD-KEY-Generierung mit Validierung
Allerdings verkaufen wir keine Software, wir verkaufen DNA-Sammlung für kriminelle und medizinische Zwecke. Die Benutzer erhalten ein Speichelsammlungskit per Post mit dem CD-KEY und sie werden diesen CD-KEY verwenden, um ein Konto auf unserer Website zu erstellen und ihre Ergebnisse zu erhalten. Die Ergebnisse des Tests werden mit dem CD-KEY verknüpft. Nur so können wir die Ergebnisse mit den Patienten verknüpfen. Es ist daher wichtig, dass es nicht scheitert :)
Eine der Voraussetzungen wäre, dass die Liste der CD-KEYs ausreichend "gespreizt" werden muss, so dass keine Möglichkeit besteht, dass jemand einen falschen CD-KEY eingibt und immer noch für ein anderes Kit zugelassen zu haben und dabei zwei Kits zu vermischen. Das könnte uns Tausende von Dollars an Haftung kosten.
Zum Beispiel kann es nicht eine inkrementelle Zahlenfolge wie
...
sein Der Grund dafür ist, dass, wenn jemand erhält das Kit 00002, sondern registriert sich als 000003 von Unfall, dann werden seine Ergebnisse mit jemand anderem verglichen. So muss es wie Kreditkartennummern sein ... Wenn keine gültige Sequenz eingegeben wird, sind Ihre Chancen zufällig eine gültige Zahl zu schlagen 1 ...
Wir verkaufen auch über 50.000 Kits jährlich an verschiedene Anbieter (wer wird seine eigenen CD-KEYS mit unserem Algorithmus generieren), so dass wir keine Liste aller zuvor ausgegebenen CD-KEYS pflegen können, um nach Duplikaten zu suchen. Der Algorithmus muss eindeutige CD-KEYs generieren.
Wir müssen außerdem sicherstellen, dass der CD-KEY gültig ist, indem wir einen schnellen Prüfalgorithmus verwenden, damit wir den Benutzer informieren können, wenn der eingegebene Code ungültig ist. Dies lässt viele Hashing- oder MD5-Algorithmen aus, die ich glaube. Und es kann kein 128 Bit sein, denn wer würde sich die Zeit nehmen, es auf dem Computerbildschirm auszugeben?
Bisher ist es das, was ich die letzte CD-KEY Struktur denken aussehen würde
(4 char Produkt-Code) - (4 char Reseller-Code) - (12 char eindeutige, überprüfbare CD-KEY)
Bsp. 384A - GTLD - {4565 - FR54 - EDF3}
die Einzigartigkeit der Schlüssel zu gewährleisten, konnte ich das aktuelle Datum (20090521) als Teil der Quelle umfasst. Wir werden nicht mehr als einmal pro Woche eindeutige Schlüssel generieren, daher ändert sich dieser Wert oft genug, um einen eindeutigen Anfangswert zu erhalten.
Welchen möglichen Algorithmus kann ich verwenden, um die eindeutigen Schlüssel zu generieren?
Kryptographie ist unsicher, wenn es Sicherheit nur in Algorithmus ist, der geheim gehalten wird. :) –
Der letzte CD-Schlüssel wird mit einem Hash-Algorithmus mit einem geheimen Schlüssel verschlüsselt. –