Ich erstelle ein einfaches Lizenzschlüssel-System, um "ehrliche Leute ehrlich zu halten". Eine besonders stringente Kryptographie interessiert mich nicht.Sollte ich meine Lizenzschlüsselausgabe von der reinen md5-Ausgabe in einen allgemeinen "XXXX-YYYY-ZZZZ" -Code ändern?
Wenn sie mit den Demo-Einschränkungen genervt sind, gehen sie auf meine Registrierungswebseite, bezahlen und geben mir ihre E-Mail. Ich gebe ihnen einen Lizenzschlüssel.
Ich halte es wirklich einfach, so:
license_key = md5(email + "Salt_String");
Ich habe PHP und C# Funktionen ausführen, die gleichen Algorithmus und den gleichen Schlüssel.
Das Problem ist, dass die Ausgabe dieser Funktionen ist eine 32-stellige Zeichenfolge wie:
A69761CF99316358D04771C5ECFCCDC5
Welche potenziell schwer zu merken/Typ. Ja, ich kenne Copy/Paste, aber ich möchte es wirklich einfach für alle zahlenden Kunden machen, die Software zu entsperren.
Sollte ich diese lange Saite irgendwie in etwas kürzer konvertieren?
Lets sagen, dass ich nur die ersten 6 Ziffern verwenden, so: A69761
Es gibt natürlich viel mehr Verschlüsselungs Kollisionen in das, aber wird es auf alles, was in der praktischen Anwendung?
Irgendwelche anderen Ideen, um die Sache menschlicher lesbar/typisierbar zu machen?
Wenn Sie "jede Lizenz auf Ihrem Server registrieren", meinen Sie, dass die App bei jedem Verbindungsaufbau "nach Hause telefonieren" sollte? Vermutlich werde ich das vorerst vermeiden, da ich davon ausgehe, dass auch echte Cracker das schaffen werden. – cksubs
Und danke für die Zusicherung, nur die ersten 6-10 Symbole zu verwenden. – cksubs
"Registrieren Sie jede Lizenz auf Ihrem Server" - Nein, ich meine nur die Zeit, wenn der Benutzer Lizenzinformationen in die App eingibt. Das würde gegen das Geben des Lizenzschlüssels zum Freund, natürlich nicht gegen wirklichen Cracker helfen –