xor暗号化を実装するプログラムを作成しています。プログラムをいじりながら、さまざまなキーの組み合わせを入力しました。キーの値を入力するまで、プログラムは完全に機能していました。はデクスターで、edit1の愚かな妹のdedeが嫌いです。暗号化して逆に復号化すると、edit1のテキストが作成されます。
procedure TForm2.Button1Click(Sender: TObject);
var
c:char;
i,key: integer;
begin
s := edit1.Text;
edit1.Text := #0;
key := strtoint(edit2.text);
key := key + 128;//i am adding 128 so that i dont get NULL char
for I := 1 to length(s) do {or 0 to lenght(s)? i dont know}
begin
c := s[i];
c := char(ord(c) xor key);
edit1.Text := edit1.Text + c;
end;
end;