Passwortgenerator

Mehrere gute Passwörter sollte heute jedermann parat haben. Aber wo bekommt man die her und wie soll man sie sich merken? Da gibt es die unterschiedlichsten Methoden. Hier gibt es einige, die ich im Laufe der Zeit gesammelt habe und für sinnvoll halte.

Ein paar Grundregeln gelten natürlich immer, z.B. dass ein Passwort lang sein muss, damit es schwer zu knacken ist. Ein Passwort sollte heute grundsätzlich mindestens 10 Zeichen enthalten. Dabei ist es völlig egal, wie oft sich bestimmt Zeichen wiederholen, denn die richtigen Zeichen kennen ja nur Sie. Wichtig ist allein, dass durch die Länge des Passworts die Anzahl möglicher Passwort-Kombinationen steigt, die ein Hacker in einer Brute-Force-Attacke austesten muss und das dauert dann Jahre! Beispiel: Das leicht zu merkende Passwort 0000000000Huhu (14 Zeichen) ist deutlich sicherer als das Passwort ?Gj3x (5 Zeichen).
Vor diesem theoretischen Hintergrund kann man es sich auch erlauben, ungeliebte Zeichen (z.B. schwer einzutippende) durch Nullen zu ersetzen und an das Passwort für eine erhöhte Sicherheit einfach weitere Zeichen anzuhängen.

Lösung 1

Die Idee zu diesem Passwortgenerator besteht in der Ausgabe einer großen Matrix (z.B. 11x11) mit beliebigen, gültigen Zeichen für Passwörter, d.h. sehr sichere Passwörter!

Die ausgegebenen Zeilen und Spalten können jeweils vorwärts oder rückwärts, von oben nach unten oder von unten nach oben oder sogar diagonal gelesen als Passwörter verwendet werden. Merken kann sich diese Passwörter so gut wie niemand und dass ist auch der Sinn der Sache!

Einen Ausdruck können Sie also getrost bei sich führen. Damit wird niemand etwas anfangen können - ausser Ihnen!

Wie man zufällige Zeichen erzeugen kann, können Sie hier nachlesen:
Die Umwandlung der zufaellig generierten Zahlen in Zeichen geschieht z.B. mit einer solchen Tabelle:
In dieser Tabelle finden Sie die Zuordnung von Zahlen und Zeichen. Die Zahlen werden mit dem Zufallsgenerator erzeugt und die Zeichen dann mit der Funktion String.fromCharCode(zahl) ausgegeben.

Aufgabe:

Programmieren Sie ein Script, welches z.B. folgende Ausgabe erzeugt:
pwdtable.PNG
Diese Passwörter können vorwärts, rückwärts, in Zeilen oder Spalten gelesen werden.
Nach dem Dücken der F5-Taste werden neue Passwörter ausgegeben.

Bei Fortgeschrittenen darf es natürlich auch gerne wie folgt aussehen:
PasswordMatrixColored.png
Desweiteren kann man über folgende Erweiterungen nachdenken:
  • Verwendung von mathematischen Formeln, Smileys, Initialen, Hausnummern
    (Eingabe mittels Formularfeldern, siehe Formulare)
  • Default-Zeichen zum Auffüllen anstelle der Nullen
    (Eingabe mittels Formularfeldern, siehe Formulare)
  • Eine Erweiterung des Programms um ein Formular mit mehreren Checkboxen
    z.B. nur Großbuchstaben, nur Kleinbuchstaben, keine Sonderzeichen, ...
    (siehe Formulare)

Lösung 2

Anforderung

Aus einem beliebigen Text sollen Passwörter generiert werden, z.B. "Zauberlehrling" von Goethe.

Algorithmus

Vorbedingung: Es werden drei Zahlen x, y und z festgelegt, wobei x < y < z
  1. Jedes Wort kürzer als x Zeichen: Der erste Buchstabe des Wortes wird durch ein Sonderzeichen abgebildet.
    Die Auswahlmenge besteht aus den folgenden 5 Zeichen: !,%,-,?,#Das Zeichen wird erst einmal auf einen Großbuchstaben abgebildet: a=A, b=B, c=C, d=D, e=E, f=F, ...
    Abbildungsvorschrift: A=! , B=% , C=- , D=?, E=#, F=!, G=% usw.
  2. Jedes Wort länger als z Zeichen wird durch eine einstellige Zahl abgebildet.
    Auswahlmenge: 0,1,2,3,4,5,6,7,8,9
    Abbildungsvorschrift: Zahl = Wortlänge%10
  3. Aus jedem Wort, welches nicht entsprechend 1. bzw. 2. behandelt wurde wird z.B. jeweils der dritte Buchstabe in das Passwort übernommen.
  4. Wenn z.B. 10 Zeichen erreicht werden, dann ist das erste Passwort komplett. Alle weiteren Passwörter ergeben sich aus den folgenden Buchstaben.

Lösungen 3-X (ohne Programmierung)

  • Autokennzeichen (aber nicht Ihres!!)
  • Seriennummern von Softwareprogrammen
  • ...