![]() |
CD-Key sieht dumm aus...
Huhu!
Ich habe NICHT das Problem , dass das CD-Key-Generieren nicht klappt. Sondern folgendes: Ich generiere erfolgreich einen CD-Key (könnt es euch unten mal anschauen) Nun generiert der mir aber sowas wie '888B' oder 'RRR3' , '222P' usw. Ein paar Beispiele vom Generator selbst: 3356-996C-883B , 2882-AWWA-1MM1 , 5224-6AAR-311P , Immer an der gleichen Stelle sind 2 oder 3 Buchstaben nach dem - Wie verhindere ich dass? Also dieses doppelte oder sogar 3-Fache? Hier der Code: (habe auch Kommentare dazu geschrieben)
Delphi-Quellcode:
// Das hier ist nun zum generieren des Codes selbst
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; //Das hab ich mir woher kopiert um ein Zufallspasswort zu erhalten , kein vorgegebenes 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; //Hier generiere ich das Passwort procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := CDKey(Copy(RandomPassword(4),1,4)) end; //hier prüfe ich es nochmal , ist aber nicht soo wichtig procedure TForm1.Button2Click(Sender: TObject); begin if CDKey(Copy(Edit1.Text,1,4)) = Edit1.Text then ShowMessage('Der angegebene CD-Key ist:' + #13 + 'Richtig') else ShowMessage('Der angegebene CD-Key ist:' + #13 + 'Falsch') end; |
Re: CD-Key sieht dumm aus...
aus den gleichen 4 zahlen am anfang werden auch die gleichen 4 zeichen bei dem 2. und 3. teilstring erstellt
deshalb solltest du schauen, dass keine zahl bei deiner random funktion doppelt vorkommt
Delphi-Quellcode:
z.b. benutzen
function RandomPassword(PLen:Integer):String;
var str:String; i: integer; begin Randomize; str:='0123456789'; Result:=''; repeat i := Random(Length(str))+1; Result:=Result+str[i]; delete(str,i,1); until(Length(Result)=PLen) end; |
Re: CD-Key sieht dumm aus...
Cool danke!!
Echt superschlauköpfe im forum unterwegs :thumb: :thumb: :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 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 by Thomas Breitkreuz