suit: Regex gesucht

Beitrag lesen

Du willst doch nicht irgend eine schwachsinnige Passwortprüfroutine schreiben?

Geht das denn nicht mit einer Regex?

Man kan mit Regulären Ausdrücken so ziemlich alle Muster abbilden, zielführend ist das aber oft nicht. In diesem Fall ist es aber recht einfach, aber bei der definierten Zeichenmenge kaum noch lesbar bzw. ohne kommenater nicht wirklich verständlich, was das soll - besonders wenn man das Ansinnen selbst nicht versteht (siehe "Schwachsinn"):

[1]*(?=[A-Za-z0-9]{8,})(?=[A-Za-z0-9]*[0-9])(?=[A-Za-z0-9]*[a-z])(?=[A-Za-z0-9]*[A-Z])[A-Za-z0-9]*$

[ich hab jetzt versucht das in verständliche Worte zu fassen, aber das klappt nicht :)]

Oberflächlich getestet.

Weil du meinst, das wäre "schwachsinnig"!?

Ich bezog mich damit nicht auf den Lösungsansatz sondern auf das Ansinnen allgemein - ich nehme an, dass es sich tatsächlich um eine Passwortprüfung handelt:

Was versprichst du dir davon, wenn du die Anzahl der möglichen Zeichenketten auf ein "sehr kleines" Set möglicher Passwörter beschränkst? (62 Zeichen als Vorrat sind wenig) und dieses dann noch künstlich einschränkst?

Einerseits verhindert es nicht, dass deine benutzer Dumme Passwörter wählen und andererseits erreicht es erfolgreich, dass die Passworter leicht per Brute-Force angegriffen werden können, da der Zeichenvorrat und die Regeln exakt definiert sind.

Es wird sogar vermehrt dazu führen, dass die Benutzer _exakt_ 8 Zeichen wählen, nur um das Limit zu erfüllen (sprich ein einfaches Passwort einfach nur um ein paar zeichen ergänzen, dass es passt).

Du musst Benutzer nicht vor sich selbst schützen sondern du musst dafür sorgen, dass du nicht verantworlich bist, wenn die Daten verloren gehen.

Dazu musst du den Datenbestand absichern und das Passwort nicht im Klartext speichern (Stichwort: Streuwert)

Es ist aber nicht deine Aufgabe zu verhindern, dass jemand als Passwort "asdf" wählt (sofern du nicht grade ein Atomkraftwerk absicherst :p)


  1. A-Za-z0-9 ↩︎