Hi leute!
ich hab ja schon einiges mit XOR gemacht, darunter auch ein OTP-crypter mit psyeudozufallsgeneratot. Aber irgendwie stoße ich gerade an meine grenze...
ich wollte nur mal schwind einen Text verschlüsseln mit XOR was aber nicht klappt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| function crypt(str:string):string; var z,w:integer; r:string; const dec:string='Jamaica'; begin r:=str; w:=length(r); for z:=1 to w do r[z]:=char(byte(dec[z mod length(dec)]) xor byte(r[z])); result:=r; end;
procedure TForm1.Button20Click(Sender: TObject); var z:string; begin z:=crypt(memo1.text); memo1.Text:=z; end; |
"hallo wie geht es dir? mir geht es gut!"<--zu verschlüsselner text
Leider funktioniert diese funktion nicht, da er schon nach dem ersten zeichen ohne fehlermeldung oder ähnlichen abbricht.
Es scheint irgendwie an dem "J" zu hängen aber hab kein plan wieso????
Natürlich würde diese funktion funktionieren wenn ich [(z-1) mod length(dec)] sagen würde, jedoch wird dann das erste zeichen immer übersprungen, was ich nicht will.
ich hoffe ihr könnt mir helfen
ich weiß das XOR schon oft hier dran war und ich hab auch die suche betätigt und quelltexte benutzt, jedoch stand ich immer vor dem selben problem.
mfg huhn
ps: ich steh wahrscheinlich wahnsinnig aufm schlauch und spring nachher ausm fenster vor wut, weil der fehler so leicht war^^