Python Getpass -Modul

Python Getpass -Modul
Wir alle halten Geheimnisse, nicht wir? Sogar unsere Programme tun es. Das Wichtigste an Geheimnissen ist, dass wir sie sicher und heimlich vor Entitäten versteckt müssen, die keinen Zugriff auf diese geheimen Schlüssel, Pass-Phrasen oder Passwort haben sollten, mit denen Benutzer etwas tun können, für das sie nicht autorisiert sind. Dieselbe Sorgfalt muss aufgenommen werden, wenn wir geheime Schlüssel, Pass-Phrasen oder Passwort von Benutzern in unseren Programmen wie die geheime Zeichenfolge nicht wiederholt werden, wenn wir sie auf den Bildschirm eingeben. Die Python Getpass Das Modul ermöglicht es uns, dies effizient zu tun.

Python Getpass -Modul

Mit Python Getpass Modul ist möglich, Passwörter in Python -Programmen zu akzeptieren und die Passphrasen sicher zu halten. Wir werden Beispiele dafür sehen. Beginnen wir mit einigen Beispielen.

Python Getpass Basic Beispiel

In diesem Beispiel beginnen wir mit einem sehr grundlegenden Beispiel dafür, wie wir einen Benutzer in das Terminal eingeben und sicherstellen können, dass das Passwort nicht zur Eingabeaufforderung wiedergegeben wird. Hier ist das gleiche Programm:

Import GetPass
versuchen:
Passwort = GetPass.Getpass ()
außer Ausnahme als Ex:
print ('Fehler aufgetreten:', Ex)
anders:
print ('eingegebenes Passwort:', Passwort)

Hier ist, was wir mit diesem Befehl zurückbekommen:

Holen Sie sich Passwort geheim

Das String -Passwort ist die Standardaufforderung, die vom Python -Skript dargestellt wird. Im nächsten Beispiel wird das an etwas anpassen, das wir in unseren Programmen gerne verwenden möchten.

Python Getpass mit einer benutzerdefinierten Eingabeaufforderung

In diesem Beispiel werden wir die Eingabeaufforderung anpassen, die dem Benutzer angezeigt wird, wenn Python nach einem geheimen Ausdruck fragt:

Import GetPass
PWD = GetPass.GetPass (prompt = ', was die beste Ubuntu -Insel ist, um sie zu besuchen?'))
Wenn PWD == 'LinuxHint':
drucken ('Ofcourse!'))
anders:
print ('wo ist das?'))

Sehen wir uns die Ausgabe für diesen Befehl an:

Benutzerdefinierte Eingabeaufforderung, um Passwort zu erhalten

Dieser Befehl ist nützlich, wenn Sie abgesehen von den Passwort -Zeichenfolgen nach einigen Passphrasen fragen möchten.

Streamen Sie das Passwort zu einem anderen Streaml

Der Getpass Das Modul ermöglicht es uns, das Kennwort zu streamen, das ein Benutzer in andere Streams wie eine Datei, Protokolle oder alles, was als Stream dargestellt werden kann. Wir müssen den Stream nur an die Funktion selbst übergeben:

Import GetPass
Importsystem
PWD = GetPass.getPass (Stream = sys.Stderr)
print ('eingegebenes Passwort:', PWD)

Hier ist, was wir mit diesem Befehl zurückbekommen:

Streaming Passwort für andere Streams

Kennwörter ohne Terminal erhalten

Die Python Getpass Modul benötigt TTY, das von a gesteuert werden kann Termios. Dies gilt, wenn wir mit einigen Unix -basierten Systemen arbeiten. Damit kann das Echo deaktiviert werden. Wenn wir das folgende Beispiel auf einer Nicht-Unix-Maschine ausführen:

echo "nicht dunkel" | Python3 getass_defaults.py

Hier ist, was wir mit diesem Befehl zurückbekommen:

Termios Befehl

Als wir das Skript auf einem Nicht-Unix-Computer leiteten, war die Ausgangszeichenfolge das, was wir eingegeben haben. Andernfalls hätten wir einfach gesehen nicht dunkel Zeichenfolge als Ausgabe am Terminal.

Lesen Sie mehr über Teletyp -Terminals Hier.

Abschluss

In dieser Lektion haben wir uns angesehen, wie wir Python nutzen können Getpass Modul zur effizienten Verwaltung geheimer Passphrasen in unseren Python -Programmen.