Ich habe eine einfache Verschlüsselungsroutine geschriben die unter Delphi 7 noch einwandfrei funktioniert hat.
Unter Delphi 2010 liefert die Entschlüsselungsrooutine jedoch manchmal ein falsches Ergebnis.
Hier der Quellcode:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| function TfMain.PasswortVerschluesseln(unverpass:string):string; var einzel,verpass:string; i,einzelzahl:integer; zeichen: char; begin verpass:=''; for i := 1 to length(unverpass) do begin einzel:=unverpass; zeichen:=einzel[i]; einzelzahl:=ord(zeichen)+funktionswert(i*i); while einzelzahl > 255 do einzelzahl := einzelzahl - 224; while einzelzahl < 32 do einzelzahl := einzelzahl + 224; verpass:=verpass + chr(einzelzahl); end; result:=verpass; end;
function tfMain.passwortentschluesseln(verpass:string):string; var unverpass:string; i,einzelzahl:integer; zeichen:char; begin unverpass:=''; for i := 1 to length(verpass) do begin zeichen:=verpass[i]; einzelzahl:=ord(zeichen)-funktionswert(i*i); while einzelzahl > 255 do einzelzahl := einzelzahl - 224; while einzelzahl < 32 do einzelzahl := einzelzahl + 224; unverpass:=unverpass + chr(einzelzahl); end; result:=unverpass; end;
function TfMain.funktionswert(x:integer):integer; begin result:= 2*x*x+5*x+3 end; |
Wenn Fehler auftreten, treten diese auch nur bei einzelenen Zeichen auf.
Also wenn ich z.B. jörgs ver und anschließend entschlüssele kommt jörg€ dabei herraus??
Gruss
Moderiert von
Gausi: Delphi-Tags hinzugefügtModeriert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Fr 28.05.2010 um 09:36