'Pass' ändern
parent
4822a2f720
commit
48bae59630
@ -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();
|
||||||
|
}
|
||||||
|
}
|
@ -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));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue