Einzelnen Beitrag anzeigen

nieurig

Registriert seit: 26. Apr 2004
113 Beiträge
 
Delphi 6 Professional
 
#1

In Schleife Passwörter erzeugen

  Alt 10. Mai 2004, 13:34
Hallo Leute,
ich sitze nur seit 2 Stunden und suche nach dem Grund ... und finde keinen.

Ich habe eine Testfunktion geschrieben, um die Verschlüsselung von Passwörtern in meinem Programm zu testen. Die Funktion erstellt automatisch neue Passwörter, speichert diese verschlüsselt in der DB (auch schon ohne Speichern versucht) und liest sie wieder ein.

Mein Problem ist nun, dass in der for-Schleife aus irgendeinem Grund keine neuen Passworte gebildet werden. Wenn ich die Passwörter in eine Datei schreibe, unterscheiden sich nur die ersten zwei Zeilen. Die letzten 48 Vergleiche finden meist mit dem gleichen Passwort statt. Wieso bloß?

Ach ja, wenn ich an irgendeiner Stelle in der Schleife eine MessageBox anzeige, klappt es wie gewünscht. Ich peile nicht warum.

Ich danke schon im Voraus für Eure Hinweise.
Niels



Code:
procedure TFLogin.Button3Click(Sender: TObject);
var TestPW, Doppel : String; i:Integer;
    dat : TextFile;
begin
  AssignFile(dat,'C:\Fehlerhafte.txt');
  rewrite(dat);
  randomize;
  for i := 1 to 50 do begin
    TestPW := '';
    while Length(TestPW) < 26 do
      TestPW := TestPW + char( Random(210)+30 );

    write(dat,inttoStr(i)+'-'+TestPW + '->');
    saveBenutzerPW('TestUser',TestPW);

    doppel := getNutzerPW('TestUser');
    write(dat,doppel);
    if Doppel = TestPW then writeln(dat,'*OK*')
                       else writeln(dat,'*--*');
  end;
  closefile(dat);
  inpName.Text := 'Fertig';

end;
Die aufgerufene Procedure hat folgenden Funktionskopf:

Code:
procedure saveBenutzerPW(BenutzerName, Kennwort :String);
und dürfte ja wohl keinen Einfuss auf den Wert der lokalen Variablen TestPW haben – oder?
Erspare Dir die Gedanken über ungelegte Eier !!!
  Mit Zitat antworten Zitat