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.