Im heutigen Internet wird man immer wieder aufgefordert, Passwörter einzugeben: Sei es bei einer einmaligen Bestellung in einem Onlineshop, der als Einziger den gewünschten Artikel führt, oder bei einem E-Maildienst, um die eingegangenen E-Mails abzurufen.
Da es durchaus empfehlenswert ist, nicht überall das selbe Passwort zu verwenden muss jedesmal ein neues generiert werden. Und wenn dies dann noch den allgemeinen Anforderungen bezüglich Sicherheit entsprechen soll wie z.B. Groß- und Kleinschreibung, Zahlen, zufällig, mindestens 10 Stellen (besser mehr), eventuell noch mit Sonderzeichen etc. wird es schnell lästig. Deshalb lassen wir inzwischen Passwörter entsprechend dieser Anforderungen durch ein Skript erzeugen:
createpw.pl
apt-get install perlinstallieren, wenn noch nicht geschehen. Und auch für Windows und MacOS ist Perl verfügbar.
Die Länge des Passwortes wird hier definiert:
### # Laenge des Passwortes $LAENGE=16; # default-Wert
Gerne kann hier eine kleiner Zahl als 16 eingegeben werden. Aber mit jeder Stelle weniger wird das generierte Passwort exponentiell unsicherer. Andersrum erhöht sich mit jeder Stelle die Sicherheit. 16 Stellen werden momentan als sicher angesehen, was bedeutet, daß es in einem vertretbaren Zeitrahmen nicht möglich ist, ein solches Passwort zu knacken.
Nichts anderes heißt übrigens "sicher". Denn 100% sicher gibt es nicht.
5616 = 9,35423835810529e+27verschiedene Passwörter möglich.
Natürlich sind auch Sonderzeichen möglich. Aber man sei gewarnt: Sonderzeichen in Passwörtern sind prinzipiell gut, sie vergrößern den zur Verfügung stehenden Zeichenraum und damit letztendlich die Sicherheit. Aber man sollte vor Verwendung eines Passwortes mit Sonderzeichen auf jeden Fall prüfen, ob Sonderzeichen als Passwort auch akzeptiert werden. Sollten sie schon, nur steht man hinterher dämlich da, wenn dies nicht so sein sollte: Man kann sich nicht einloggen.
Für den Fall, dass Sonderzeichen akzeptiert werden, kann man Sonderzeichen in die Generierung der Passwörter einbeziehen:
### # Sonderzeichen (vor Verwendung unbedingt pruefen, # ob Sonderzeichen in einem Passwort auch akzeptiert werden) #push @ZAHL,"!","§","\$","%","&","<",">","/","(",")","{","}","=","?","-","_";
Wird die letzte Zeile push ...
aktiviert (Raute am Anfang der Zeile wegnehmen), werden auch die
Sonderzeichen ! § $ % & < > ( ) { } , = ? - _
verwendet.
Wer schon mit Passwörtern experimentiert hat wird festgestellt haben, daß es bei einigen Zeichen durchaus zu Verwechslungen
kommen kann: So kann beispielsweise ein kleines "l
" mit einem großen "I
" verwechselt
werden, oder das große "O
" mit der "0
". Deshalb gibt's den Abschnitt
missverständliche Zeichen austauschen
:
### # missverstaendliche Zeichen austauschen &ReplaceLetters("l"); &ReplaceLetters("i"); &ReplaceLetters("I"); &ReplaceLetters("L"); &ReplaceLetters("O"); &ReplaceLetters("0");
Dadurch sinkt zwar die Anzahl der letztendlich verwendeten Zeichen, aber dies ist hier doch vernachlässigbar.
Der Aufruf des Skriptes ist denkbar einfach:
perl createpw.plEs wird das Passwort ausgegeben.
Hier kann man es mal ausprobieren: Passwort generieren
Und hier das Skript:
Wer Lust hat: Bitte schön, auch ich trinke gerne mal ein Bier! :-)
Danke!