Na gut, mir war eh grad fad.
Delphi-Quellcode:
function TVerschluesselung.Entschluesseln(passwort: string; Text: string):
string;
var
passwortverschluesselt, schluessel: string;
block1, block2, text2: string;
index, i, i5: Integer;
begin
//ersten Schlüssel erzeugen
passwortverschluesselt := MD5Print(MD5String(Passwort));
passwortverschluesselt := MD5Print(MD5String(passwort + passwortverschluesselt
+ passwort));
schluessel := passwortverschluesselt;
//erster Schlüssel erzeugt
block1 := '';
block2 := '';
i5 := length(Text) div 32;
text2 := text;
index := 0; //BlockIndex
//entschlüsseln
repeat
//Block ausschneiden
block1 := copy(text2, 1 + index * 32, 32);
//Block entschlüsseln
for i := 1 to length(Block1) do
Block1[i] := chr(ord(Block1[i]) - ord(Schluessel[i]));
block2 := block2 + block1;
index := index + 1;
//Neuer Schlüssel
schluessel := MD5Print(MD5String(Block1 + schluessel + Block1));
until index > i5;
result := Block2;
end;
Habs nicht probiert ... sagst mir wieder obs schneller gworden ist?