AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CD-Key sieht dumm aus...

Ein Thema von A-M-X · begonnen am 30. Dez 2005 · letzter Beitrag vom 30. Dez 2005
Antwort Antwort
A-M-X

Registriert seit: 29. Sep 2005
Ort: Karlsruhe
152 Beiträge
 
#1

CD-Key sieht dumm aus...

  Alt 30. Dez 2005, 14:15
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;
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#2

Re: CD-Key sieht dumm aus...

  Alt 30. Dez 2005, 14:31
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:
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;
z.b. benutzen
  Mit Zitat antworten Zitat
A-M-X

Registriert seit: 29. Sep 2005
Ort: Karlsruhe
152 Beiträge
 
#3

Re: CD-Key sieht dumm aus...

  Alt 30. Dez 2005, 14:40
Cool danke!!

Echt superschlauköpfe im forum unterwegs
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz