Einzelnen Beitrag anzeigen

Matrix275

Registriert seit: 13. Feb 2012
1 Beiträge
 
#1

Problem bei Vigenere-Verschlüsselung

  Alt 13. Feb 2012, 20:35
Hallo,

Wir sollten in der Schule ein Programm mit Delphi zur Caesar- und Vigenere-Verschlüsselung schreiben. Meine Caesar-Verschlüsselung funktioniert einwandfrei, aber bei Vigenere kann ich meinen Fehler nicht finden. Ich habe mindestens 30 Minuten versucht in den Programmzeilen irgendwo den Fehler zu finden, habe den Code schon mehrfach umgeändert, jedoch ohne Erfolg. Ich vermute mal es liegt an den strings oder arrays, die ich benutzt habe.

Hier ist der Code von der fehlerhaften Prozedur:

Delphi-Quellcode:
procedure TForm1.Klartextverschlsseln1Click(Sender: TObject);
var a,b,key,keyadd: String;
     i,j,l,m,id1,id2,k,h:Integer;
     codeid:array of Integer;
begin
b:='';
m:=0;
key:='COOL';
keyadd:=key;
Memo1.Lines.Clear;
  for i := 0 to Memo2.Lines.Count do
    begin
      b:='';
      a := Memo2.Lines[i];
      for j := 1 to length(a) do
        begin
          key:=key+keyadd;
          m:=m+1;
        end;
    end;
l:=i*59+j;
key:= Copy(key, 1, l);
for k := 0 to (length(key)-1) do
  begin
    codeid[k]:=ord(key[k])-65;
  end;
for h:=0 to length(a)-1 do
  begin
    b:=b+chr((ord(codeid[h]))+(ord(a[h])));
  end;
end;
Ich würde mich sehr freuen, wenn mir jemand den Fehler und die dazugehörige Korrektur zeigen könnte.

MfG Matrix275
  Mit Zitat antworten Zitat