ini file schreiben und einlesen
-
Hallo
Ich programmiere mit Visual Studio .NET ich möchte eine Consolen-Applikation schreiben die ein Passwort generiert. Der Benutzer kann die Settings, sprich: Passwortlänge, Passwortanzahl, Kleinbuchstaben, Historylänge usw. bestimmen.
Diese Settings müssen nach dem schliessen des Programmes in ein ini file geschrieben werden.Nach dem Neustart des Programmes sollten die ganzen Einstellungen vom ini file übernommen werden. Das Programm sollte durch die History erkennen können ob das neuerzeugte Passwort schon mal generiert wurde. Falls ja neu erzeugen.
Nun wie mache ich das?

-
Für das lesen / schreiben von ini-Konfigurationsdateien gibts genügend Librarys, eventuell ist aber Xml besser geeignet.
Am besten speicherst du dann einen Hash der Passwörter ab die bereits geniert wurden, das Passwort selbst zu speichern wäre nicht so schön!
Gruß
-
FireFlow schrieb:
Am besten speicherst du dann einen Hash der Passwörter ab die bereits geniert wurden, das Passwort selbst zu speichern wäre nicht so schön!
Zugegeben unverschlüsselt abspeichern ist nicht gut. Aber scheinbar soll das ein Programm werden dass Passwörter generiert/verwaltet da ist ein hash wahrscheinlich nicht ideal da mann daraus das Passwort nicht mehr rekonstruieren kann. Denke es bleibt nur Verschlüsseln
Kurt
-
Es soll ja laut OP nur Erstellen, nicht speichern

-
Habe ich etwas falsch verstanden? Ich dachte, nur die Einstellungen sollen gespeichert werden?
-
Am einfachsten gehts bei .NET wohl in XML:
int myint; string mystring; // schreiben XmlTextWriter writer = new XmlTextWriter("dateiname", Encoding.UTF8); writer.WriteStartDocument(); writer.WriteStartElement("mysettings"); writer.WriteStartElement("mysetting"); writer.WriteAttributeString("mywert1", myint.ToString()); writer.WriteAttributeString("mywert2", mystring); writer.WriteEndElement(); writer.WriteEndElement(); writer.Close(); // lesen XmlDocument doc = new XmlDocument(); doc.Load("dateiname"); XmlElement mysetting = (XmlElement)doc.SelectSingleNode("/mysettings/mysetting"); myint = Convert.ToInt32(mysetting.Attributes["mywert1"].Value); mystring = mysetting.Attributes["mywert2"].Value;Der Code ist .NET 2.0, müsste aber in 1.1 ganz ähnlich lauten. Zusätzlich sind die Namespaces System.Xml und System.Text zu importieren.
EDIT: Fehlerbehandlung wär natürlich auch nicht schlecht

-
Ja Hallo Zusammen
Wie schon erwähnt sollte ich in C++ eine Passwort Generator schreiben der mir ein Passwort generiert. Das habe ich so mehr weniger gemacht. Der Benutzer sollte einstellen können wie lange das Passwort ist und welche Zeichen drin vorkommen. Dies Einstellung müssen ins ini file gespeichert werden, und die Passwörter die man schon generiert hat. Wie viele Passwörter gespeichert werden kann der User seblst bestimmen.
Ja stimmt schon es macht wenig Sinn die Passwörter unverschlüsselt ins ini zu speichern, aber dies ist nur eine Übung, also diese Passwörter werden nicht wirklich verwendet von dem her ist es kein Probelem.

Das ini wird beim nächsten Start eingelesen. Ich weiss nicht wie ich ins ini file rein schreibe und wieder raus lese.
Das ist zurzeit mein Hauptproblem.
Gibt es noch andere Möglichkeiten ausser mit XML? was ist mit fstream?
Liebe Grüsse und danke für jede Hilfe

-
Schau Dir mal diesen Thread an. Wenn Du nur den Code übernimmst der liest (Block und Property) und das Format an Deine Bedürfnisse anpasst, so sollte es schon das sein, was Du benötigst.
Gruß
Werner