Nach einigen gesuche in Hagens beispielen habe ich es jetzt halbwegs selbst hinbekommen, allerdings werden jetzt dauernd
exceptions gemeldet und der hash sieht auch immer gleich aus.
vielleicht könnt ihr mir ja sagen was ich alles falsch gemacht habe.
hier mal der Code:
Delphi-Quellcode:
procedure TForm1.codierenClick(Sender: TObject);
var
PHash: THash_MD5;
s: string;
i: Integer;
j: Integer;
n: Integer;
Hpass: string;
Format: Integer;
begin
Format :=fmtHEXL;
PHash := THash_MD5.create(nil);
PHash.Init;
Hpass := PHash.CodeString(pass, paEncode, Format);
Inhalt.Text := eingabe;
if length(pass) > 10 then begin
j := 1;
s := Inhalt.Text;
for i := 0 to length(s) do begin
j := i mod length(Hpass);
n := Ord(Hpass[j]);
n := n mod 31;
s[i] := char(n Xor Ord(s[i]));
end;
Inhalt.Text := s;
eingabe := s;
PHash.Free;
end
else
Inhalt.Text := 'Sie müssen ein Passwort mit mehr als 10 Zeichen eingeben';
PHash.Free;
end;
könnte ja auch sein, dass es an meiner XOR methode liegt.
wäre über jede hilfe dankbar,
david
Ps: ich weiß, dass XOR so wie ich es hier benutze sehr unsicher ist, ist bis jetzt jedoch gewollt
david