AW: Text verschlüsseln Windows + Android
Dann habe ich das überlesen.
|
AW: Text verschlüsseln Windows + Android
Könnte man nicht auch auf High(String) und Low(String) zurückgreifen, das würde die Compilerdirektiven sparen?
|
AW: Text verschlüsseln Windows + Android
Also ich verstehe die Funktion von low und high anders. Aber kann man ja einfach ausprobieren.
|
AW: Text verschlüsseln Windows + Android
Bei mir gibt (unter Windows) Low('Hallo') 1 und High('Hallo') 5 aus, das passt also schon einmal. FMX auf mobilen Plattformen muss aber jemand anderes ausprobieren, ich benutze das schon lange nicht mehr.
|
AW: Text verschlüsseln Windows + Android
Zitat:
http://docwiki.embarcadero.com/RADSt...ex_of_a_String |
AW: Text verschlüsseln Windows + Android
Ok, dann lautet der vereinfachte Code folgendermaßen:
Delphi-Quellcode:
unit Crypt;
interface uses SysUtils; function Encrypt (const s: String; Key: Word) : string; function Decrypt (const s: string; Key: Word) : string; implementation const CKEY1 = 53761; CKEY2 = 32618; function Encrypt(const S :String; Key: Word): String; var i :Integer; RStr :RawByteString; RStrB :TBytes Absolute RStr; begin Result:= ''; RStr:= UTF8Encode(S); for i := 0 to Length(RStr)-1 do begin RStrB[i] := RStrB[i] xor (Key shr 8); Key := (RStrB[i] + Key) * CKEY1 + CKEY2; end; for i := 0 to Length(RStr)-1 do begin Result:= Result + IntToHex(RStrB[i], 2); end; end; function Decrypt(const S: String; Key: Word): String; var i, tmpKey :Integer; RStr :RawByteString; RStrB :TBytes Absolute RStr; tmpStr :String; begin tmpStr:= UpperCase(S); SetLength(RStr, Length(tmpStr) div 2); i:=low(tmpStr); try while (i<=high(tmpStr)) do begin RStrB[i div 2]:= StrToInt('$' + tmpStr[i] + tmpStr[i+1]); Inc(i, 2); end; except Result:= ''; Exit; end; for i := 0 to Length(RStr)-1 do begin tmpKey:= RStrB[i]; RStrB[i] := RStrB[i] xor (Key shr 8); Key := (tmpKey + Key) * CKEY1 + CKEY2; end; Result:=UTF8ToString(RStr); end; end. |
AW: Text verschlüsseln Windows + Android
Und der Code funktioniert?
Dir ist aber dass xor keine starke Verschlüsselung ist? Fpr jemand, der ernsthaft an die Daten gelangen will, ist das keine Hürde. |
AW: Text verschlüsseln Windows + Android
Der Code funktioniert, j. Das dies keine starke Verschlüsselung ist, sollte klar sein, es ging aber zunächst ja einmal darum die vorhandene Implementierung des TE zu fixen. Für stärkere Verschlüsselungen sind hier auch Beispiele genannt worden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz