Modulo Python GetPass

Modulo Python GetPass
Teniamo tutti segreti, no? Anche i nostri programmi lo fanno. La cosa importante dei segreti è che dobbiamo tenerli in sicurezza e segretamente nascosti da entità che non dovrebbero avere accesso a queste chiavi segrete, frasi pass o password che consentiranno agli utenti di fare qualcosa che non sono autorizzati a fare. Le stesse cure devono essere prese quando accettiamo chiavi segrete, frasi pass o password degli utenti nei nostri programmi come la stringa segreta non dovrebbe essere eco quando li digitiamo sullo schermo. Il Python getPass Il modulo ci consente di farlo in modo efficiente.

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.