Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi string speichern (https://www.delphipraxis.net/68748-string-speichern.html)

kenuvis 4. Mai 2006 18:08


string speichern
 
hi

so, meine frage:
ich möchte einen string auf dem rechner speichern. doch, wenn ich es in eine datei packe, kann ja jeder idiot da ran, und das genau will ich nicht. wo und wie kann ich strings auf dem rechner speichern ohne, das man gleich da ran kommt?

mfg

ps: am einfachsten wäre es natürlich den in irgendeinen unterordner zu hauen, doch das ist ja nun nicht so toll. ich dachte da so in richtiung regestry oder so in etwa.

Klaus01 4. Mai 2006 18:14

Re: string speichern
 
Du kannst die Datei verschlüsseln, oder verstecken (Datei Atribute setzen).
Allen "Quatsch" in die Registry zu laden, finde ich persönlich nicht so toll.

Grüße
Klaus

kenuvis 4. Mai 2006 18:18

Re: string speichern
 
zum thema verschlüsseln. ich bin nicht sonderlich scharf drauf, jetzt noch ne verschlüsselungsfunction zu schreiben.

das mit dem attribut, musst du mir jetzt mal näher erklären.

himitsu 4. Mai 2006 18:22

Re: string speichern
 
Zitat:

Zitat von Klaus01
oder verstecken (Datei Atribute setzen).

Das würde aber bei mir nicht funktionieren, da ich alle Dateien anzeigen lasse (egal welche Attribute sie haben) ... 's soll ja nicht jeder idiot/virus... was verstecken können ^^


Zitat:

Zitat von Klaus01
Allen "Quatsch" in die Registry zu laden, finde ich persönlich nicht so toll.

Laus M$ soll man aber genau as tun ._.

kenuvis 4. Mai 2006 18:24

Re: string speichern
 
ok, kann mir nun jemand mal bitte sagen/zeigen, wie ich ne datei vor dummen usern verstecke.

EConvertError 4. Mai 2006 18:36

Re: string speichern
 
Ich frage mich, warum du etwas vor dem User verstecken willst.

Wenn es vertrauliche Daten sind, dann ist Verschlüsseln sowieso ein muss. Du müsstest die Routine ja nicht einmal selbst schreiben, da es ja z.B. das DEC gibt (ich glaub' Microsoft hat auch eine API für so etwas).
Ansonsten willst du vermutlich einfach nur nicht, dass der Benutzer die Daten einfach so verändern kann. Dann speicherst du es eben nicht in eine Textdatei, sondern irgendwie anders in einen TFileStream. Oder wie himitsu bereits geschrieben hat: in die Registry damit.

Ich persönlich hätte keine Freude daran, wenn Programme ihre Daten vor mir verstecken, oder irgendwo hintun, wo sie nicht hingehören. Womöglich bleiben sie dann bei der Deinstallation zurück und ich weiß gar nicht von ihnen.

mfg,
Andreas

kenuvis 4. Mai 2006 18:40

Re: string speichern
 
ok, dann sag ich so, ich möchte nicht, dass die user die datei verändern können. wie geht das?

himitsu 4. Mai 2006 18:46

Re: string speichern
 
Das Einfachste ist ein Hash (über die nicht zu ändernten Daten), den du zusätzlich abspeicherst, wenn dieser nicht mehr Stimmt, dann wurden die Daten geändert.

Oder halt verschlüsseln.

In er Registry, oder bei Dateien (NTFS und Co. ... nicht FAT) kann man auch noch die rechte ändern (halt einfach so ändern, daß der User keinen Zugriff hat)

inherited 4. Mai 2006 18:47

Re: string speichern
 
Du verschlüsselt ihn mit xor, par example:

Delphi-Quellcode:
for i:=1 to length(s) do
  s[i]:=char(42 Xor Ord(s[i]));
und Entschlüsseltst ihn nach dem laden mit (par example):

Delphi-Quellcode:
for i:=1 to length(s) do
  s[i]:=char(42 Xor ord(s[i]));
€dit: zweiundviiierzig

kenuvis 4. Mai 2006 18:52

Re: string speichern
 
aha ok, danke. werd es mal ausprobieren.

HuxXx 5. Mai 2006 12:17

Re: string speichern
 
Zitat:

Zitat von inherited
Du verschlüsselt ihn mit xor, par example:

Delphi-Quellcode:
for i:=1 to length(s) do
  s[i]:=char(42 Xor Ord(s[i]));
und Entschlüsseltst ihn nach dem laden mit (par example):

Delphi-Quellcode:
for i:=1 to length(s) do
  s[i]:=char(42 Xor ord(s[i]));
€dit: zweiundviiierzig

Diese Methode ist so noch unsicher.
Wenn du eine gute Verschlüsselung willst, schau bei Torry.net nach.
Am besten nach der Unit "CoderDecoder", die ist etwas sicherer als die XOR-Verschlüsselung,
und es ist auch nicht schwer sie zu benutzen.

himitsu 5. Mai 2006 12:33

Re: string speichern
 
Zitat:

Zitat von HuxXx
Diese Methode ist so noch unsicher.

OK, mit einem festen wert (z.B. 42) ist XOR nicht gerade sicher, aber für 'nen "dummen" User sicher genug und dann wurde hier auch schon "bewiesen, daß eine XOR-Verschlüsselung ebenfalls extrem Sicher sein kann ... eventuell sogar sicherer als alles was z.B. bei Torry zu finden ist ... kannst ja mal was per XO mit einem Schlüssel verschlüsseln, welcher mindestens genausolang wie die zu verschlüsselnden Daten ist ... das bekommt so schnell keiner geknackt :zwinker:

Jasocul 5. Mai 2006 12:43

Re: string speichern
 
Wenn ich sowas machen muss, speichere ich das im Anwenderdaten-Verzeichnis. Ich habe bisher noch keinen DAU gesehen, der dort nachsieht. Zumal das Verzeichnis standardmäßig auch nicht angezeigt wird. Eine Verschlüsselung der Daten schützt ja auch nur vor der Klartext-Lesbarkeit. Vor manueller Veränderung schützt es nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz