![]() |
Passswort sicher in die EXE speichern
Hallo,
wie kann ich ein Passwort und einen Benutzernamen sicher in der EXE speichern? Die Daten werden schon vor dem Kompilieren angegeben. Ich möchte dann mit den Daten auf meinen FTP - Server zugreifen. Wie kann ich diese Daten nun relativ sicher in die EXE tun? Gibt es dafür Komponenten? Ich habe letztens bei den Indy's eine Komponente gesehen, womit man Passwort und Usermname eingeben konnte .... ich dachte, das wäre sowas, aber im editor war das passwort trotzdem ganz deutlich zu sehen. IdUserPassProvider unter IndySASL Kennt jemand eine simple Lösung für mein Problem? |
Re: Passswort sicher in die EXE speichern
HI!
Ich glaube, ein "sicher" wird es da nicht geben. Du kannst sie evtl. irgendwie verschlüsseln, aber auch dann wird irgendjemand, wenn er ein Interesse an der Sache hat, in der Lage sein, sie wieder zu entschlüsseln. Spätestens nachher bei der Übertragung ins Netz könnte sich einer das Paket abfischen. Ciao Frederic |
Re: Passswort sicher in die EXE speichern
Das Problem ist, dass die Daten auch irgend wie von dir wieder entschlüsselt werden müssen, und alles was man entschlüsseln kann, kann man somit auch herausfinden.
|
Re: Passswort sicher in die EXE speichern
Du musst den Hash des Passwortes speichern. Dieser Hash kann nicht entschlüsselt werden. Du kannst dann das eingegebene Passwort mit derselben Mehtode verschlüsseln und schauen ob der dabei herauskommende Hashwert gleich ist wie der gespeicherte. Such einfach mal nach
![]() ![]() Alternativ eine eigene (unsichere) Hash-Lösung:
Delphi-Quellcode:
function xorhash(password:string):string;
var i:integer; begin result:=''; for i:=1 to length(password) do result:=result+char(byte(password[length(password)+1-i]) xor byte(password[i])); end; |
Re: Passswort sicher in die EXE speichern
Bitte baue mal eine Verbindung zu nem FTP-Server auf, dessen Passwort du nur in Hash-Form verfügbar hast.... :roll:
|
Re: Passswort sicher in die EXE speichern
Ich meinte der User solle es ja eingeben. Sonst wäre es ja unmöglich. Was die EXE aus sich selbst auslesen kann, kann man auch so auslesen.
|
Re: Passswort sicher in die EXE speichern
mahlzeit,
eine möglichkeit wäre das du das passwort erst wenn du es brauchst zusammen setzt. eine sehr einfache variante wäre
Delphi-Quellcode:
oder du machst das ganze zeichenweise:
Pass := Teil1 + Teil2 + Teil3;
Delphi-Quellcode:
natürlich kannst du auch normale stringmanipulation(copy, replace...)oder kombinationen verwenden um das passwort zu erstellen. und wenn du das ganze auch noch über mehre prozeuren/funktionen verteilst, tendiert die warscheinlichkeit das jemand dass passwort aus der exe ausließt gegen null. du mußt aber entscheiden ob sich der aufwand lohnt, denn solange du kein ssl oder ssh verwendest um mit dem ftp-server zu reden sei auf programme wie etheral hingewiesen.
Pass := #65#85#75#43
|
Re: Passswort sicher in die EXE speichern
danke ... wie sieht das denn mit ssl aus ... bei den indys ist doch auch irgendne ssl kompo dabei ,oder?
|
Re: Passswort sicher in die EXE speichern
@IchBins
Was Chrissi91 möchte, ist, dass sein Programm auf den FTP zugreift und dann beispielsweise eine Datei auswertet um den User anzuzeigen ob updates zur Verfügung liegen, oder beispielsweise die analyse unseres Surf-Verhaltens hochladen :mrgreen: Der Endbenutzer kann und darf die Benutzerdaten natürlich nicht wissen. @Chrissi91 SSL ist eine geschützte Verbindung , die dein Server ebenfalls unterstützen müsste, dies hat aber nichts mit FTP zu tun, oder wolltest du deine Verbindungsdaten über die SLL-Verbindung abrufen ? - Dann rate mal was du für eine SSL-Verbindung brauchst :stupid: Die Variante von AndreasP ist recht gut, du kannst ja noch ein bisschen daran feilen, beispielsweise
Delphi-Quellcode:
a := ord('a');
a := a*2; pass := #65#85#75+Chr(a); gruss |
Re: Passswort sicher in die EXE speichern
aber er kann sie hacken. das ist absolut unbestreitbar. das prog könnte vielleicht den hash speichern und dann mit brute-force selbst das passwort bestimmen :mrgreen:
der User könnte z.B. auch eine eigene Firewall schreiben, die alle gesendeten Daten abfängt. Es ist also unmöglich. Eine weitere Möglichkeit: Das Prog schickt Daten [eMails :?:] an einen bestimmten Rechner, der diese dann verarbeitet (z.B. die Daten auf dem Server ändert) und als einziger das Kennwort kennt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 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