Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
Delphi XE3 Enterprise
|
AW: Strings kodiert in ini-Datei
8. Dez 2011, 12:42
Hier wäre noch eine Möglichkeit
Delphi-Quellcode:
Procedure LoadMemIniFileCrypted(INI: TMemInifile; const fn: String;
Key: String);
var
s: String;
sl: TStringList;
st: TStringStream;
RC4Reader: TRC4StreamReader;
begin
if not FileExists(fn) then
Exit;
sl := TStringList.Create;
st := TStringStream.Create;
try
RC4Reader := TRC4StreamReader.Create(TFileStream.Create(fn, fmOpenRead or fmShareDenyWrite), Key);
try
st.CopyFrom(RC4Reader, RC4Reader.Size);
st.Position := 0;
s := st.ReadString(st.Size);
sl.Text := s;
INI.SetStrings(sl);
finally
RC4Reader.Free;
end;
finally
st.Free;
sl.Free;
end;
end;
Procedure SaveMemIniFileCrpyted(INI: TMemInifile; const fn: String;
Key: String);
var
s: String;
sl: TStringList;
st: TStringStream;
fs: TFileStream;
RC4Writer: TRC4StreamWriter;
begin
sl := TStringList.Create;
st := TStringStream.Create;
try
INI.GetStrings(sl);
s := sl.Text;
st.WriteString(s);
st.Position := 0;
RC4Writer := TRC4StreamWriter.Create(TFileStream.Create(fn, fmCreate or fmShareDenyWrite), Key);
try
RC4Writer.CopyFrom(st, st.Size);
finally
RC4Writer.Free;
end;
finally
st.Free;
sl.Free;
end;
end;
verwendet http://www.delphi-forum.de/viewtopic...&highlight=rc4
Thomas Wassermann H₂♂ Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂♂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
|