Beispiel #1
0
        /// <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;
            }
        }
Beispiel #2
0
        /// <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;
            }
        }
Beispiel #3
0
 public static string GeneratorPasswort(Passw.UserConfig passwEigensch)
 {
     return Passw.GeneratePasswort(passwEigensch);
 }
Beispiel #4
0
 /// <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);
 }
Beispiel #5
0
 /// <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;
 }
Beispiel #6
0
 /// <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;
 }