Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Verschlüsselte Ini lesen? (https://www.delphipraxis.net/107409-verschluesselte-ini-lesen.html)

Poring 27. Jan 2008 12:06


Verschlüsselte Ini lesen?
 
Hallo,

ich habe eine Inidatei verschlüsselt
z.B:
Delphi-Quellcode:
davor:
[Name]
Eintrag1=Test

danach:
wasanders
auchwasanderes=wasanderes
Die Inidatei möchte ich jedoch trozdem auslesen mit:
Delphi-Quellcode:
i:=ini.ReadString('Name', 'Eintrag1', '');
Ist es irgendwie möglich die Inidatei wieder zu entschlüsseln und dann erst die Daten zu lesen?
Natürlich soll die Ini als entschlüsselte Datei nicht gespeichert werden.

Danke für Tipps,
Mfg

mkinzler 27. Jan 2008 12:11

Re: Verschlüsselte Ini lesen?
 
Wie hast du verschlüsselt? Einfach umkehren

Poring 27. Jan 2008 12:13

Re: Verschlüsselte Ini lesen?
 
Verschlüsselt einfach damit, dass die Zeichen vertauscht wurden.

Klar kann ich dieses wieder umkehere, nur wie mache ich dies damit er die umkehrung nicht in der Ini speichert (damit die Ini noch verschlüsselt bleibt) aber er dann die Daten aus dem entschlüsseltem liest?
Weil ich kann in der verschlüsselten Ini ja nicht mehr den Wert auslesen, da ja auch [Name] und Eintrag1 verschlüsselt ist.

Die Muhkuh 27. Jan 2008 12:15

Re: Verschlüsselte Ini lesen?
 
Anstatt Du die Datei ins Dateisystem schreibst, kannst Du sie in einem TMemoryStream abspeichern und von dort auch wieder (entschlüsselt) laden.

Poring 27. Jan 2008 12:19

Re: Verschlüsselte Ini lesen?
 
Und daraus kann ich dann die Daten auch so gezielt auslesen? Also irgendwie mit
Delphi-Quellcode:
i:=memorystream.ReadString('Name', 'Eintrag1', '');
Oder geht dies dan anders?

Die Muhkuh 27. Jan 2008 12:24

Re: Verschlüsselte Ini lesen?
 
Nein, Du entschlüsselst die Ini-Datei und anstatt Du die entschlüsselte Datei auf die Festplatte speicherst, speicherst Du sie in einen TMemoryStream. Danach kannst Du über Ini.LoadFromStream die entschlüsselte Datei vom TMemoryStream laden.

Vielleicht zeigst mal grob, wie Du verschlüsselst. Vielleicht machst Du das anders, als ich es gerade im Kopf habe. Dann haut meine Lösung nicht hin.

Zacherl 27. Jan 2008 12:26

Re: Verschlüsselte Ini lesen?
 
Schritte:

1) INI Datei als Pointer in den Speicher laden (MemoryStream)
2) Speicherbereich entschlüsseln
3) Speicherbereich der MemoryIniFile zuordnen (LoadFromStream)
4) Normal mit der INI arbeiten
5) Speicherbereich verschlüsseln
6) Daten in der INI speichern

Poring 27. Jan 2008 12:29

Re: Verschlüsselte Ini lesen?
 
Verschlüssel/Entschlüsseln:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
  i: Integer;
begin
  s:=memo1.Text;
  for i:=1 to length(s) do
    s[i]:=char(23 Xor Ord(s[i]));
  memo1.Text:=s;


end;
Damit habe ich den Text der in die Ini kommt verschlüsselt (stand in nem Memofeld).
Dh in der Ini steht anstatt
Delphi-Quellcode:
[Name]
Eintrag1=Test
steht nun:
Delphi-Quellcode:
LYvzrJR~ycevp&*Crdc
zu Zacherl:
Mit Schritt 4: mit der verschlüsselten normalen Ini weiterarbeiten oder wie soll dies funktionieren?

Zacherl 27. Jan 2008 12:31

Re: Verschlüsselte Ini lesen?
 
Die Datei ist zwar auf der Festplatte noch verschlüsselt, intern im Speicher deiner Anwendung aber nicht mehr. Von daher funktioniert das auch ..

mkinzler 27. Jan 2008 12:32

Re: Verschlüsselte Ini lesen?
 
Warum verschlüsselst du die Ini am Stück anstatt Teilweise:

aus
[Name]
Eintrag1=Test

[lsdlksakl]
kkldslkdfkl=dhshsh

Dann könntest du es auch einfach wieder entschlüsseln.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr.
Seite 1 von 3  1 23      

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