AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Password in die INI schreiben

Ein Thema von strom · begonnen am 24. Jan 2016 · letzter Beitrag vom 25. Jan 2016
Antwort Antwort
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#1

Password in die INI schreiben

  Alt 24. Jan 2016, 12:13
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;
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Password in die INI schreiben

  Alt 24. Jan 2016, 12:17
Nur so am Rande:

Wie willst du aus einem Hash das Kennwort wiederherstellen?
Rainbow-Tables, Brute-Force, ...?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#3

AW: Password in die INI schreiben

  Alt 24. Jan 2016, 12:24
Fällt dir in der Zeile mit dem Fehler wirklich nichts auf? 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.
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#4

AW: Password in die INI schreiben

  Alt 24. Jan 2016, 12:58
OK

Richtig, möchte das Passwort verschlüsselt speichern, und auch wieder lesen!
Sollte was einfaches sein, hat jemand ein Beispiel?

Danke
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Password in die INI schreiben

  Alt 24. Jan 2016, 13:04
Dann musst Du einen Verschlüsselungscodec wie 3DES oder Rijndael(AES) verwenden.
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Password in die INI schreiben

  Alt 24. Jan 2016, 13:27
Hallo,
schreibe den Hash in eine lokale Variable,
dann siehst du auch deinen Fehler.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#7

AW: Password in die INI schreiben

  Alt 24. Jan 2016, 22:55
Richtig, möchte das Passwort verschlüsselt speichern, und auch wieder lesen!
Sollte was einfaches sein, hat jemand ein Beispiel?
Dann musst Du einen Verschlüsselungscodec wie 3DES oder Rijndael(AES) verwenden.
Kleiner Hinweis zum Thema Sicherheit.

Du hast hier zwei sinnvolle Möglichkeiten.
  1. Du verschlüsselst mit einem modernen Verfahren das abgespeicherte Passwort. Dann musst du beim Programmstart aber den Nutzer nach dem Masterpasswort zu Entschlüsselung fragen. Das Passwort in deinem Programm zu hinterlegen bringt keinerlei Sicherheit!
  2. Falls du den Nutzer nicht nach einem Passwort fragen willst, dann speichere das Passwort einfach im Klartext. Biete am besten eine Option, ob das Passwort überhaupt gespeichert werden soll.

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!
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 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 by Thomas Breitkreuz