Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Strings kodiert in ini-Datei

  Alt 8. Dez 2011, 11: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)
  Mit Zitat antworten Zitat