![]() |
Password in die INI schreiben
Hallo,
möchte gerne das Passwort (Edit4) in der INI abspeichern. Es kommt immer die Fehlermeldung: Nicht genügend wirkliche Parameter??
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var ini: TIniFile; filename: String; begin filename := ExtractFilePath(ParamStr(0)) + 'settings.ini'; ini := TIniFile.Create(filename); try ini.WriteString('mySQL Server', 'IP', Edit1.Text); ini.WriteString('mySQL Server', 'Port', Edit2.Text); ini.WriteString('mySQL Server', 'User', Edit3.Text); ini.WriteString('mySQL Server' THash_MD5.CalcString'Password' ,Edit4.Text, nil, fmtMIME64)); // hier das Problem ini.WriteString('mySQL Server', 'Database', Edit5.Text); finally ini.Free; end; end; |
AW: Password in die INI schreiben
Nur so am Rande:
Wie willst du aus einem Hash das Kennwort wiederherstellen? Rainbow-Tables, Brute-Force, ...? |
AW: Password in die INI schreiben
Fällt dir in der Zeile mit dem Fehler wirklich nichts auf? :gruebel: So nach dem Wort CalcString?
Wie Sir Rufo das schon angedeutet hat: Wieso speicherst du den Hash des Passworts hab? Du wirst das Passwort doch später wieder auslesen wollen, oder? Hashes sind Einwegfunktionen. Das heißt deren Sinn ist es, ihre Umkehrung möglichst schwer zu machen. Du kannst aus dem gespeicherten MD5 das Passwort nicht mehr zurückrechnen. |
AW: Password in die INI schreiben
OK :oops:
Richtig, möchte das Passwort verschlüsselt speichern, und auch wieder lesen! Sollte was einfaches sein, hat jemand ein Beispiel? Danke |
AW: Password in die INI schreiben
Dann musst Du einen Verschlüsselungscodec wie 3DES oder Rijndael(AES) verwenden.
|
AW: Password in die INI schreiben
Hallo,
schreibe den Hash in eine lokale Variable, dann siehst du auch deinen Fehler. Heiko |
AW: Password in die INI schreiben
Sich den Hash anstelle des Passworts zu merken ist meiner Meinung nach der bessere Weg, da dann auch niemand anders das Passwort wieder herstellen kann. Man kann dann später natürlich nicht das Passwort mit dem Hash vergleichen, sondern muss vom eingegebenen Passwort wieder den Hash bilden und den gemerkten mit dem gebildeten Hash vergleichen.
In der "Problem"-Zeile fehlen zumindest ein Komma und eine Klammer auf. |
AW: Password in die INI schreiben
Nur mit einem Hash kann man sich nirgends anmelden
|
AW: Password in die INI schreiben
Zitat:
|
AW: Password in die INI schreiben
Zitat:
|
AW: Password in die INI schreiben
Zitat:
Ok, gebe mich geschlagen, hätte genauer lesen müssen :oops: |
AW: Password in die INI schreiben
Zitat:
Zitat:
Du hast hier zwei sinnvolle Möglichkeiten.
Unter Linux ist das so Standard, seit vielen Jahren und niemand beschwert sich. Wenn es jemanden stört, wird das Passwort einfach nicht gespeichert. Alternative kann man seine Festplatte verschlüsseln. Eine reine Verschleierung bringt einfach nichts. Ein Angreifer wird das Passwort herausfinden, wenn er Zugriff auf die Datei hat. Da hilft auch eine Verschleierung nichts. Also mach es dir nicht komplizierter als es ist. Wenn du es wirklich sicher haben willst, dann musst du den Benutzer nach einem Passwort für die Verschlüsselung fragen. (Wobei du ihn dann auch direkt nach dem MySQL Passwort fragen könntest...) Eine Verschlüsselung ohne Nutzerabfrage kann nicht sicher sein! Hoffe ich kann dir damit etwas helfen! :thumb: |
AW: Password in die INI schreiben
Wenn man schon Zugriffsinformation aus Bequemlichkeit (für den Anwender) lokal speichert, dann doch wenigstens verschlüsselt. Allemal besser, als unverschlüsselt. Man hält nämlich doch die meisten Kindsköpfe davon ab, 'nur so aus Spaß' eine mySQL-Konsole zu installieren, um sich dann -wie lustig- mal einzuloggen.
Auf dem Präsentierteller muss man die Zugriffsinformationen ja nicht gerade präsentieren. Welchen Algorithmus man dann benutzt, ist eher zweitrangig. Wer ihn knacken will, schafft es auch (weil er ja die Software hat). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 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