Modulo Python GetPass
Usando Python getPass Modulo, è possibile accettare password nei programmi Python e proteggere le passphrasi. Vedremo esempi di protezione delle password e anche come possiamo trasmettere le password dal terminale ai file di testo. Iniziamo con alcuni esempi.
Python GetPass Basic Esempio
In questo esempio inizieremo con un esempio molto semplice di come possiamo far inserire un utente una password nel terminale e assicurarci che la password non sia tornata al prompt dei comandi. Ecco lo stesso programma:
Importa GetPass
Tentativo:
password = getPass.getPass ()
Tranne l'eccezione come ex:
print ('Errore si è verificato:', ex)
altro:
print ("Password immessa:", password)
Ecco cosa torniamo con questo comando:
Ottieni segreto password
La password di stringa è il prompt predefinito presentato dallo script Python. Nel prossimo esempio lo personalizzerà a qualcosa che vorremmo usare nei nostri programmi.
Python GetPass con prompt personalizzato
In questo esempio personalizzeremo il prompt che viene mostrato all'utente quando Python chiede una frase segreta:
Importa GetPass
PWD = GetPass.getPass (prompt = 'che è la migliore isola di Ubuntu da visitare?')
Se PWD == 'LinuxHint':
Stampa ('Of Course!')
altro:
stampa ('dov'è?')
Vediamo l'output per questo comando:
Prompt personalizzato per ottenere la password
Questo comando è utile quando si desidera chiedere alcune passphrasi a parte le stringhe della password.
Streaming password su un'altra streaml
IL getPass Il modulo ci consente di trasmettere in streaming la password che un utente inserisce alcuni altri flussi come un file, registri o qualsiasi cosa che possa essere rappresentata come un flusso effettivamente. Dobbiamo solo passare il flusso alla funzione stessa:
Importa GetPass
Import sys
PWD = GetPass.getPass (stream = sys.Stderr)
print ("Password immessa:", PWD)
Ecco cosa torniamo con questo comando:
Streaming della password su altri flussi
Ottenere password senza terminale
Il Python getPass Il modulo ha bisogno di TTY che può essere controllato da a termios. Ciò è applicabile quando stiamo lavorando con alcuni sistemi basati su Unix. Con questo, l'eco può essere disabilitato. Quando eseguiamo il seguente esempio su una macchina non unx:
Echo "Not Dark" | python3 getpass_defaults.Py
Ecco cosa torniamo con questo comando:
comando Termios
Mentre eseguivamo lo script su una macchina non unx, la stringa di output era ciò che abbiamo inserito. Altrimenti, avremmo semplicemente visto non scuro Stringa come output sul terminale.
Leggi di più su Terminali di teletipo Qui.
Conclusione
In questa lezione, abbiamo esaminato come possiamo usare Python getPass Modulo per gestire le passphrasi segrete in modo efficiente nei nostri programmi Python.