![]() |
Serial Problem
Hai Leute;
hab ein Problem, ich habe einen KeyGen mit einen Algorhytmus, jetzt will ich das wenn ein Benutzer mein Programm vollfunktionsfähig haben möchte, möchte ich diesen KeyGen und den Algorhytmus damit benutzen, wie mache ich so was? z.B. ich habe ein Edit und in dem wird der Serial reingeschrieben(vom Benutzer), und dann soll abgefragt werden, ob dieser Serial mit dem Algorhytmus zusammen passt... Hier der Algorhytmus:
Delphi-Quellcode:
function CDKey(Seed:String): String;
const Key1:Array[0..9] of Char = ('T','5','A','9','R','6','C','0','W','7'); Key2: Array[0..9] of Char = ('4','U','1','8','P','3','B','2','M','8'); var i: integer; begin result := Seed + '-'; for i:= 1 to length(Seed) do result := result + Key1[Ord(Seed[i])-48]; result := result + '-'; for i:= 1 to length(Seed) do result := result + Key2[Ord(Seed[i])-48]; end;
Delphi-Quellcode:
und so ruft man ihn auf:
function RandomPassword(PLen:Integer):String;
var str:String; begin Randomize; str:='0123456789'; Result:=''; repeat Result:=Result+str[Random(Length(str))+1]; until(Length(Result)=PLen) end;
Delphi-Quellcode:
Hoffe ihr könnt mir helfen.... :pale:
Edit2.Text := CDKey(Copy(RandomPassword(4),1,4));
|
Re: Serial Problem
du musst bestimmte kriterien für die Seriennummer aufstellen, z.B. die Checksum muss gleich dem Produkt der ersten beiden Zahlen sein etc.
diese muss dann der KeyGen umsetzen. |
Re: Serial Problem
Zitat:
|
Re: Serial Problem
wenn du nur irgendwie eine zufällige 20-Stellige Serial erstellst die überhaupt keinen Kriterien unterliegt, ist ja JEDE vom User eingegebene 20-Stellige Seriennummer gültig. Du musst irgendwie festlegen, wie eine gültige Seriennummer auszusehen hat, und dein SerialMaker-Algorithmus darf nur solche Seriennummern produzieren. Zum Beispiel könnte eine Seriennummer so definiert sein, dass sie aus Zahlen besteht und jeweils 2 aufeinanderfolgende Zahlen die Summe 10 haben:
Delphi-Quellcode:
solche Seriennummern kann der User aber auch leicht selbst erstellen, ohne deinen Keymaker-Algorithmus.
1973-5528-4682
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz