Deterministischer Passwortgenerator

Ich suche nach deterministischen Passwortgeneratoren, die für Linux verfügbar sind. Mein Ziel ist es, ein Passwort zu haben, an das ich mich erinnern kann, und dieses zu verwenden, um Passwörter für alle meine Anmeldungen zu erstellen.

"Deterministisch" macht den Zweck des "Passwortgenerators" ziemlich zunichte, da diese so unvorhersehbar wie möglich sein sollten. Was ist Ihre Absicht für ein solches Programm?
@Alejandro Ich würde es für meine Passwörter auf Websites verwenden.
Aber warum müssen diese "deterministisch" sein? Das ist eine sehr schlechte Eigenschaft für ein Passwort. Sie sollten idealerweise so zufällig wie möglich sein. Warum ist deterministisch eine wünschenswerte Eigenschaft?
Etwas, das auch zu Ihrem Anwendungsfall passt, aber keine Antwort auf Ihre Frage ist, ist die Verwendung eines Passwort-Managers wie KeePass. Sie haben den Vorteil, dass Sie sich nur ein Passwort merken müssen, ohne dass der negative Aspekt Ihrer Passwörter deterministisch von Ihrem Master-Passwort abgeleitet wird. Ihre individuellen Passwörter können einfach zufällig sein, und Sie müssen sich nur das Master-Passwort merken, um auf Ihren Passwort-Manager zuzugreifen.

Antworten (3)

Probieren Sie das pwgenDienstprogramm aus . Je nachdem, welche Optionen verwendet werden, pwgenkönnen beides sein:

  1. Deterministic , indem ein vordefinierter Hash oder der Hash aus einer bestimmten Datei verwendet wird; hier ist die Datei eine bash Prozesssubstitution , mit printfder überall das gleiche Ergebnis ausgegeben werden sollte:

    pwgen -N 1 -H <(printf foobar) 14
    

    ...würde jedes Mal ausgeben:

    niecie1faaXooZ
    
  2. Zufällig , zB :

    pwgen -N 1 -s 14
    

    ...würde jedes Mal ein anderes zufälliges Passwort ausgeben.

Ritchey Password Pre-Salter ist kostenlos, Open Source und für Linux verfügbar. Ein Debian-Paket finden Sie hier , und eine portable Version finden Sie hier .

php /opt/ritchey-password-presalter/cli.php --output TRUE ---password "yourpassword" ---salt "stackexchange" ---maxlength "12"

Dieser Befehl erstellt ein 12-stelliges Passwort. In diesem Beispiel lautet das erstellte Passwort ceeb4ea2!1Aa. Wenn der Wert von Salt in den Namen jeder Website geändert wird, für die Sie ein Passwort erstellen, müssen Sie sich nur den Wert von Passwort merken , um sie neu zu erstellen.

php /opt/ritchey-password-presalter/cli.php --output TRUE ---password "yourpassword" ---salt "stackexchange" ---maxlength "12"

php /opt/ritchey-password-presalter/cli.php --output TRUE ---password "yourpassword" ---salt "youtube" ---maxlength "12"

php /opt/ritchey-password-presalter/cli.php --output TRUE ---password "yourpassword" ---salt "wikipedia" ---maxlength "12"

In diesem Beispiel verwendet jeder dieser Befehle denselben Wert für das Passwort , und der Name der Website, der sie entsprechen, wird für Salt verwendet . Dies führt zu 3 eindeutigen Passwörtern (ceeb4ea2!1Aa, a94040b8!1Aa, e31dc83b!1Aa), aber Sie müssen sich nur den Wert von password merken .

Wenn Sie lieber nach Optionen gefragt werden möchten, gibt es auch einen interaktiven Befehl.

php /opt/ritchey-password-presalter/icli.php

Muss man wirklich das Master-Passwort auf der Kommandozeile angeben? Das würde ihn definitiv disqualifizieren – da er so in den Shell-Verlauf gelangt (und auch in Kürze in der Prozessliste sichtbar ist) und somit ein Angriffsziel für Hacker wäre.

Sie könnten einfach einen Hash Ihres einzelnen Passworts erstellen, das mit dem Anwendungsfall verkettet ist, z. B. sha256 von „passwordfacebook“ oder sha256 von „passwordstackexchange“, und diesen Hash als Passwort verwenden.