Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Passwort speichern (xml) (https://www.delphipraxis.net/214969-passwort-speichern-xml.html)

NoGAD 13. Apr 2024 07:37

Passwort speichern (xml)
 
Hallo,

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?

LG Mathias :-)

himitsu 13. Apr 2024 07:54

AW: Passwort speichern (xml)
 
Nja, im Grunde mußt du es verschlüsseln und dann speichern.
Jetzt kommt es drauf an, wie sicher es sein soll, wo der Schlüssel für diese Verschlüsselung abgelegt wird und ob zusätzlich nochmal eine Passwortabfrage vom Nutzer einbezogen wird.

Wobei ich grade dazu übergegangen bin für ein Projekt die Funktionen des Windows zu nutzen.

> Credentials-Store / Windows-Anmeldeinformationen, also wo auch Zugangsdaten des RDP, Netzwerkfreigaben usw. liegen.
Erstmal kommt dann nur noch der aktuelle Windows-Nutzer da dran, aber dennoch kann es nicht schaden das darin zu verschlüsseln, wobei Windows dafür auch was bereitstellt.

NoGAD 13. Apr 2024 08:09

AW: Passwort speichern (xml)
 
Ich bin der Meinung, dass für mein kleines Tool eine einfache Verschlüsselung/Entschlüsselung ausreicht.

Im Prinzip reicht hier, da es sich um keinerlei sensible Daten innerhalb der (z.B.) PDF handelt, eine XOR-Verschlüsselung aus. Das Passwort soll ja nur für den normalen (Nicht)-Benutzer nicht gleich ersichtlich sein.

Ansonsten habe ich üner eine AES-Verschlüsselung nachgedacht.. :-)

dummzeuch 13. Apr 2024 10:40

AW: Passwort speichern (xml)
 
Zitat:

Zitat von NoGAD (Beitrag 1535724)
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.

NoGAD 13. Apr 2024 11:18

AW: Passwort speichern (xml)
 
Zitat:

Zitat von dummzeuch (Beitrag 1535727)
Meinst Du wirklich, dass das Password im Klartext in der Konfiguration gespeichert werden soll?


Huhu. Ich verdrückte mich im ersten Beitrag falsch aus. Ich meinte, dass das das Passwort als Text gespeichert werden muss, möchte es aber nicht als Klartext speichern. :thumb:

Eine XOR-Verschlüsselung klappt auch nicht, da die "Verschlüsselung" zu viele ungülte Zeichen erezugt, als dass es als String in einer Konfigurationsdatei gespeichert werden kann.

Ich zerlege jetzt das Passwort vom Benutzer und mache Zahlen daraus, die ich mit einem Geheimnis verbinde, um es dann so zu speichern.

LG :-)

Olli73 13. Apr 2024 11:47

AW: Passwort speichern (xml)
 
Das xor Ergebnis codiert man mit base64 und speichert das!

jaenicke 13. Apr 2024 13:17

AW: Passwort speichern (xml)
 
Genau, xor --> base64. Und nach dem Base64 verwurste ich das Ergebnis noch ein bisschen, so dass man es nicht direkt in einen Base64 Decoder packen kann. Alles, für das diese "Sicherheit" nicht ausreicht, muss man ohnehin anders angehen.

NoGAD 13. Apr 2024 17:32

AW: Passwort speichern (xml)
 
Vielen lieben Dank an euch :-D

Habt ein schönes Wochenende!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 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