/// <summary> /// Erstellt einen neuen Datensatz mit den übergebenen Eigenschaften. /// Wird ein Fehler zurückgegeben (ReturnCode != noError) so ist ein null Datensatz erstellt worden, /// welcher gelöscht werden sollte. /// </summary> /// <param name="benutzer">Benutzername</param> /// <param name="passw">Passwort</param> /// <param name="webs">Webseite der Zugangsdaten oder Pfad zur User-Datei</param> /// <param name="detail">Zusätzliche Infos (optional)</param> /// <param name="code">Rückgabe des ReturnCode</param> public Data(string benutzer, Passw passw, string webs, string detail, out ReturnCode code) { code = ReturnCode.noError; if (Benutzer.CheckBenutzername(benutzer) == true) code = ReturnCode.BenutzernameUngültig; Program.stopw.Restart(); if (Passw.CheckPasswort(passw.Passwort, passw.PasswortEigenschaften) == true) code = ReturnCode.PasswortUngültig; Program.stopw.Stop(); if (webs == null) code = ReturnCode.missingParameter; if (code == ReturnCode.noError) { this.benutzername = benutzer; this.passwort = passw; this.pfad = webs; this.details = detail; } }
/// <summary> /// Erstellt einen neuen Datensatz mit den übergebenen Eigenschaften. /// Passwort wird generiert und kann nachträglich aus dem Datensatz ausgelesen werden. /// Wird ein Fehler zurückgegeben (ReturnCode != noError) so ist ein null Datensatz erstellt worden, /// welcher gelöscht werden sollte. /// </summary> /// <param name="benutzer">Benutzername</param> /// <param name="webs">Webseite der Zugangsdaten</param> /// <param name="detail">Zusätzliche Infos (optional)</param> /// <param name="code">Rückgabe des ReturnCode</param> public Data(string benutzer, string webs, string detail, Passw.UserConfig passwEigensch, out ReturnCode code) { code = ReturnCode.noError; if (Benutzer.CheckBenutzername(benutzer) == true) code = ReturnCode.BenutzernameUngültig; if (webs == null) code = ReturnCode.missingParameter; if (code == ReturnCode.noError) { this.benutzername = benutzer; this.passwort = new Passw(passwEigensch); this.pfad = webs; this.details = detail; } }
public static string GeneratorPasswort(Passw.UserConfig passwEigensch) { return Passw.GeneratePasswort(passwEigensch); }
/// <summary> /// Ruft die CheckPasswort Methode der Klasse Passw auf. /// </summary> /// <param name="passw">Passwort zur Überprüfung</param> /// <returns>false = OK, true = Fehler</returns> public static bool CheckPasswort(string passw, Passw.UserConfig passwEigensch) { return Passw.CheckPasswort(passw, passwEigensch); }
/// <summary> /// Legt ein neues Passwort nach Überprüfung auf Gültigkeit an. /// </summary> /// <param name="pass">Passwort</param> /// <exception cref="ArgumentException">Wenn Passwort ungültig.</exception> public Passw(Passw pass) { this.PasswortEigenschaften = pass.PasswortEigenschaften; this.Passwort = pass.Passwort; }
/// <summary> /// Rekonstruiert ein Passwort aus einem durch die ToSTring() Methode erstellten String /// </summary> /// <param name="quellstr">Quellstring</param> /// <returns>Passwort</returns> public static Passw FromString(string quellstr) { UserConfig conf = new UserConfig(); string[] quell = quellstr.Split(TRENNZEICHEN); if (quell.Length < 4) { throw new ArgumentException("Nicht genügend Einzelkomponenten im String enthalten!"); } try { conf.minimumPwLength = byte.Parse(quell[1]); conf.maximumPwLength = byte.Parse(quell[2]); conf.minimumSpecialChar = byte.Parse(quell[3]); } catch (Exception e) { throw new ArgumentException(e.Message); } conf.specialChar = new char[(quell.Length - 4)]; for (int i = 4; i < quell.Length; i++) { conf.specialChar[(i - 4)] = quell[i].ToCharArray()[0]; } Passw erg = new Passw(quell[0], conf); return erg; }