in einem kleinen Tool möchte ich dem Benutzer die Möglichkeit geben, Passwörter im Programm zu hinterlegen, mit welchem (z.B.) PDF-Dateien verschlüsselt werden. Da das Passwort aber im Klartext in einer Konfigurationsdatei gespeichert werden muss, habe ich Probleme, das korrekt umzusetzen. Wie könnte ein Weg aussehen, um aus einem TEdit-Feld (ja: mit Passwort-Char), den String in einer
XML-Konfigurationsdatei zu speichern, um es bei einem neuen Programmstart wieder einzulesen?
Meinst Du wirklich, dass das Password im Klartext in der Konfiguration gespeichert werden soll? Dann könnte es jeder auslesen, der einen Texteditor bedienen kann. Das mag für manche spezielle Anwendungen OK sein, aber für die meisten eher nicht, da will man diese Information verschlüsselt speichern.
Die einzige sichere Möglichkeit das selbst im Programm zu machen, ist es, ein Master-Password zu benutzen und auf Basis dessen die anderen Passworte zu ver- und entschlüsseln (wie z.B. bei Firefox/Thunderbird, oder auch bei den ganzen Password-Managern). Alle anderen Methoden bedingen auf die eine oder andere Art, dass der Key zum ver-/entschlüsseln im Programm oder in der Konfiguration gepeichert ist und damit extrahiert werden kann um das Passwwort zu entschlüsseln.
Alternativ könnte man eine externe Ver-/Entschlüsselung verwenden z.B. was das Betriebsystem bereitstellt. Das wiederum ist dann an den Benutzer und/oder das Gerät gebunden.