From 48bae59630979565518bed2c4f43f05b522b223b Mon Sep 17 00:00:00 2001 From: Peter Date: Tue, 20 Jun 2017 19:50:44 +0000 Subject: [PATCH] =?UTF-8?q?'Pass'=20=C3=A4ndern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Pass | 73 ++++++++++++++++++++++++++++++++++++++++++++++ PasswortChecker.cs | 70 -------------------------------------------- 2 files changed, 73 insertions(+), 70 deletions(-) create mode 100644 Pass delete mode 100644 PasswortChecker.cs diff --git a/Pass b/Pass new file mode 100644 index 0000000..c4728ae --- /dev/null +++ b/Pass @@ -0,0 +1,73 @@ +using System; +using System.Linq; +using System.Text.RegularExpressions; + +class PasswortChecker +{ + public int isGutesPasswort(string passwort) + { + int zeichenAnzahl = 0; + int buchstabenAnzahl = 0; + int ziffernAnzahl = 0; + int grossbuchstabenAnzahl = 0; + int kleinbuchstabenAnzahl = 0; + int sonderzeichenAnzahl = 0; + int zifferInnerhalb = 0; + int sonderzeichenInnerhalb = 0; + + int punkteZaehler = 0; + + string[] passwortBestandteile = Regex.Split(passwort, @""); + passwortBestandteile = passwortBestandteile.Where(val => val != "").ToArray(); + + zeichenAnzahl = passwortBestandteile.Length; + + int passwortBestandteileIndex = 0; + foreach (string passwortBestandteil in passwortBestandteile) + { + if (Regex.IsMatch(passwortBestandteil, "[a-zA-Z]")) buchstabenAnzahl++; + if (Regex.IsMatch(passwortBestandteil, "[A-Z]")) grossbuchstabenAnzahl++; + if (Regex.IsMatch(passwortBestandteil, "[a-z]")) kleinbuchstabenAnzahl++; + if (Regex.IsMatch(passwortBestandteil, "[0-9]")) ziffernAnzahl++; + if (!Regex.IsMatch(passwortBestandteil, "[A-Za-z0-9öäüÄÖÜßáàâéèêíìîóòôúùû]")) sonderzeichenAnzahl++; + + if (passwortBestandteileIndex != 0 && passwortBestandteileIndex != zeichenAnzahl) + { + if (!Regex.IsMatch(passwortBestandteil, "[A-Za-z0-9öäüÄÖÜßáàâéèêíìîóòôúùû]")) sonderzeichenInnerhalb++; + if (Regex.IsMatch(passwortBestandteil, "[0-9]")) zifferInnerhalb++; + } + + passwortBestandteileIndex++; + } + + if (zeichenAnzahl >= 12) punkteZaehler++; else Console.WriteLine("\r\nPunktverlust -1 wegen zu weniger Zeichen - Es sollen min. 12 sein und sind nur: " + Convert.ToString(zeichenAnzahl)); + if (buchstabenAnzahl >= 2) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen zu weniger Buchstaben"); + if (grossbuchstabenAnzahl >= 2) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen zu weniger Großbuchstaben"); + if (ziffernAnzahl >= 2) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen zu weniger Ziffern"); + if (kleinbuchstabenAnzahl >= 1) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen zu weniger Kleinbuchstaben"); + if (sonderzeichenAnzahl >= 2) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen zu weniger Sonderzeichen"); + if (sonderzeichenInnerhalb >= 1) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen fehlendem oder falscher Position eines Sonderzeichens"); + if (zifferInnerhalb >= 1) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen fehlender oder falscher Position einer Ziffer"); + + return punkteZaehler; + } +} + +class hauptProgramm +{ + + static void Main(string[] args) + { + Console.WriteLine("Bitte geben Sie das Passwort ein, das getestet werden soll: "); + string passwort = Console.ReadLine(); + + PasswortChecker pwc = new PasswortChecker(); + int ergebnis = pwc.isGutesPasswort(passwort); + + Console.WriteLine("Das Passwort erreicht " + Convert.ToString(ergebnis) + " von 8 erreichbaren Punkten"); + + // Konsolenfenster offen halten + Console.WriteLine("Druecken Sie zum Bennden eine beliebige Taste"); + Console.ReadKey(); + } +} \ No newline at end of file diff --git a/PasswortChecker.cs b/PasswortChecker.cs deleted file mode 100644 index e897fd2..0000000 --- a/PasswortChecker.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System; -using System.Linq; -using System.Text.RegularExpressions; - -class PasswortChecker -{ - public int isGutesPasswort(string passwort) - { - int zeichenAnzahl = 0; - int buchstabenAnzahl = 0; - int ziffernAnzahl = 0; - int grossbuchstabenAnzahl = 0; - int kleinbuchstabenAnzahl = 0; - int sonderzeichenAnzahl = 0; - int zifferInnerhalb = 0; - int sonderzeichenInnerhalb = 0; - - int punkteZaehler = 0; - - string[] passwortBestandteile = Regex.Split(passwort, @""); - passwortBestandteile = passwortBestandteile.Where(val => val != "").ToArray(); - - zeichenAnzahl = passwortBestandteile.Length; - - int passwortBestandteileIndex = 0; - foreach (string passwortBestandteil in passwortBestandteile) - { - if ( Regex.IsMatch(passwortBestandteil, "[a-zA-Z]")) buchstabenAnzahl ++; - if ( Regex.IsMatch(passwortBestandteil, "[A-Z]")) grossbuchstabenAnzahl ++; - if ( Regex.IsMatch(passwortBestandteil, "[a-z]")) kleinbuchstabenAnzahl ++; - if ( Regex.IsMatch(passwortBestandteil, "[0-9]")) ziffernAnzahl ++; - if (!Regex.IsMatch(passwortBestandteil, "[A-Za-z0-9öäüÄÖÜßáàâéèêíìîóòôúùû]")) sonderzeichenAnzahl ++; - - if (passwortBestandteileIndex != 0 && passwortBestandteileIndex != zeichenAnzahl) { - if (!Regex.IsMatch(passwortBestandteil, "[A-Za-z0-9öäüÄÖÜßáàâéèêíìîóòôúùû]")) sonderzeichenInnerhalb++; - if (Regex.IsMatch(passwortBestandteil, "[0-9]")) zifferInnerhalb++; - } - - passwortBestandteileIndex++; - } - - if (zeichenAnzahl >= 12) punkteZaehler++; else Console.WriteLine("\r\nPunktverlust -1 wegen zu wenig Zeichen - Es sollen min. 12 sein und sind nur: " + Convert.ToString(zeichenAnzahl)); - if (buchstabenAnzahl >= 2) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen zu weniger Buchstaben"); - if (grossbuchstabenAnzahl >= 2) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen zu weniger Großbuchstaben"); - if (ziffernAnzahl >= 2) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen zu weniger Ziffern"); - if (kleinbuchstabenAnzahl >= 1) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen zu weniger Kleinbuchstaben"); - if (sonderzeichenAnzahl >= 2) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen zu weniger Sonderzeichen"); - if (sonderzeichenInnerhalb >= 1) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen fehlendem oder falscher Position eines Sonderzeichens"); - if (zifferInnerhalb >= 1) punkteZaehler++; else Console.WriteLine("Punktverlust -1 wegen fehlender oder falscher Position einer Ziffer"); - - return punkteZaehler; - } -} - -class hauptProgramm -{ - - static void Main(string[] args) - { - - Console.WriteLine("Bitte geben Sie das Passwort ein, das getestet werden soll: "); - string passwort = Console.ReadLine(); - - PasswortChecker pwc = new PasswortChecker(); - int ergebnis = pwc.isGutesPasswort(passwort); - - Console.WriteLine(Convert.ToString(ergebnis)); - } -} -