Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Passwort verschlüsselt ablegen (https://www.delphipraxis.net/76192-passwort-verschluesselt-ablegen.html)

Roaster 31. Aug 2006 09:25


Passwort verschlüsselt ablegen
 
Hi,

ich würde gerne in einer Datei (INI Format) das Kennwort für den Zugang zu einem FTP-Server, verschlüsselt, ablegen.

Der Benutzer meines Programmes gibt das Kennwort in einem TEdit ein und ich möchte dieses dann in einer INI-Datei speichern.
Umgekehrt aber muss ich wiederum in der Lage sein das Kennwort wieder auszulesen um diesem im Klartext an einen FTP-Server zu senden.

Natürlich sollte die Verschlüsselung einigermassen sicher sein. Ein MD5 Hash oder ein Hash im Allgemeinen bringt natürlich in diesem Fall nichts.

jfheins 31. Aug 2006 09:43

Re: Passwort verschlüsselt ablegen
 
Also bei meinem Open-Source Hier im Forum suchenSmallftp Habe ich die Passwörter mittels RCx und base64 kodiert und abgelegt. Das ist natürlich nicht sicher im krytographischen Sinne aber es steht nicht mehr im Klartext in der ini ;)

Alexander 31. Aug 2006 09:45

Re: Passwort verschlüsselt ablegen
 
Hallo,
schau dir mal Hagen's DEC an (hier im Forum sind viele Themen dazu). Da sind wohl einige sehr gut implementierte Verfahren drin.
Welches du am besten nutzt, kann ich dir aber auch nicht sagen, da das nicht so ganz mein Fachgebiet ist :mrgreen:

bernau 31. Aug 2006 09:48

Re: Passwort verschlüsselt ablegen
 
Zitat:

Zitat von Roaster
ich würde gerne in einer Datei (INI Format) das Kennwort für den Zugang zu einem FTP-Server, verschlüsselt, ablegen.

Schau mal auf die Seite von Michael Puff. Vieleicht ist das was für dich.


Gerd

supermuckl 31. Aug 2006 10:00

Re: Passwort verschlüsselt ablegen
 
dcpcrypt komponente reinhauen und damit die strings en/decodieren
das passwort für die verschlüsselung würde ich aber mit diversen routinen wenigstens ein wenig im speicher "zusammen setzen lassen" damit man nicht per disassembler den pwstring auslesen kann so einfach.

Tubos 31. Aug 2006 10:07

Re: Passwort verschlüsselt ablegen
 
Zitat:

das passwort für die verschlüsselung würde ich aber mit diversen routinen wenigstens ein wenig im speicher "zusammen setzen lassen" damit man nicht per disassembler den pwstring auslesen kann so einfach.
Ist das nicht unnötiger Aufwand, wenn bei FTP das Passwort sowieso im Klartext übertragen wird? Meiner Meinung nach ist das Sniffen des FTP-Streams wesentlich einfacher als das Disassemblieren.

supermuckl 31. Aug 2006 10:43

Re: Passwort verschlüsselt ablegen
 
das ist soweit richtig. aber man könnte ja evtl eine sftp verbindung aufbauen ? mit ssl

Thanatos81 31. Aug 2006 10:57

Re: Passwort verschlüsselt ablegen
 
Ich hab es bei einem meiner Programme so gelöst, dass ich die komplette INI mit der entsprechenden Jedi-Komponente per xor verschlüsselt habe. Meine ersten Versuche, nur die DB- und FTP-Zugangsdaten zu verschlüsseln schlug dahingehend fehl, das einige Sonderzeichen TIniFile wohl zu schaffen gemacht haben.

Das Kennwort wird dann wie supermuckl bereits erwähnte zur Laufzeit aus verschiedenen ResourceStrings zusammengesetzt. Sonderlich viel Aufwand ist das nicht und der Otto-Normal-Verbraucher wird es auch nicht ohne weiteres auslesen können.

Alexander 31. Aug 2006 13:44

Re: Passwort verschlüsselt ablegen
 
Also die XOR-Verschlüsselung ist nicht sonderlich sicher und daher auch nicht empfehlenswert. Warum sollte man nicht einen halbwegs sicheren Algo implementieren, das scheint mir mit den ganzen Beispielen hier und Hagen's Projekt recht einfach zu sein (habe es aber - wie bereits geschrieben - noch nicht versucht).

Zacherl 31. Aug 2006 14:00

Re: Passwort verschlüsselt ablegen
 
Ich würde die einzelnen Einträge auch mit Hagens DEC über den Rijndael Algorithmus en/decodieren. Für Format musst du TFormat_MIME64 wählen, damit der String keine Sonderzeichen enthält.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 Uhr.

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