Wenn Du die letzten Beiträge gelesen und umgesetzt hättest,
wärest Du wahrscheinlich schon ein wenig weiter.
So könnte es dann aussehen.
Ich hoffe Du kopierst nicht nur, sondern versuchst es
zu verstehen.
Delphi-Quellcode:
// Das ist Dir bekannt und hast Du ja bereits verinnerlicht
function strEncrypt(const S: String; Key: Word): String;
var
I: Integer;
dummyKey: Byte;
const
C1 = 52845; C2 = 22719;
begin
result := '';
for I := 1 to Length(S) do
begin
dummyKey :=Ord(S[I]) xor (Key shr 8);
Result := result + IntToHex(dummyKey,2);
Key := (dummyKey + Key) * C1 + C2;
end;
end;
// Das ist neu.
function strDecrypt(const hex: String; key: Word):String;
var
i : Integer;
dummyKey : Byte;
const
C1 = 52845; C2 = 22719;
begin
result := '';
for i := 1 to length(hex) div 2 do
begin
dummyKey:= StrToInt('$'+hex[(i*2)-1]+hex[i*2]); // Umwandlung von 2 Hexzeichen in ihren Bytewert
result := result + chr(dummyKey xor (key shr 8)); // das Ergebnis wird in ein Char umgewandelt
key := (dummyKey + Key) * C1 +C2; // der key wird verändert
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.Text:=strEncrypt(Edit1.Text,StrToInt(Edit4.Text));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
edit3.Text:=strDecrypt(edit2.Text,StrToInt(Edit4.Text));
end;
Eigentlich recht simpel, oder?
Grüße
Klaus