Pitone

Modulo getpass Python

Modulo getpass Python
Teniamo tutti segreti, non è vero?? Anche i nostri programmi lo fanno. La cosa importante dei segreti è che dobbiamo tenerli al sicuro e segretamente nascosti alle entità che non dovrebbero avere accesso a queste chiavi segrete, passphrase o password che consentiranno agli utenti di fare qualcosa che non sono autorizzati a fare. La stessa attenzione deve essere presa quando accettiamo chiavi segrete, pass-phrase o password dagli utenti nei nostri programmi come la stringa segreta non dovrebbe essere riprodotta quando li digitiamo sullo schermo. il pitone getpass modulo ci consente di farlo in modo efficiente.

Modulo getpass Python

Usare Python getpass modulo, è possibile accettare password nei programmi Python e mantenere le passphrase al sicuro. Vedremo esempi di come proteggere le password e anche come possiamo trasmettere le password dal terminale ai file di testo. Iniziamo con alcuni esempi.

Esempio di base getpass di Python

In questo esempio inizieremo con un esempio molto semplice di come possiamo far inserire a un utente una password nel terminale e assicurarci che la password non venga ripetuta al prompt dei comandi. Ecco lo stesso programma:

importa getpass
provare:
password = getpass.getpass()
tranne Eccezione come ad es.:
print('Si è verificato un errore: ', es)
altro:
print('Password inserita :', password)

Ecco cosa otteniamo indietro con questo comando:

Ottieni la password segreta

La stringa password è il prompt predefinito presentato dallo script python. Nel prossimo esempio lo personalizzeremo per qualcosa che ci piacerebbe usare nei nostri programmi.

Python getpass con prompt personalizzato

In questo esempio personalizzeremo il prompt che viene mostrato all'utente quando Python richiede una frase segreta:

importa getpass
pwd = getpass.getpass(prompt = 'Qual è la migliore isola Ubuntu da visitare?')
if pwd == 'LinuxHint':
print('Naturalmente!')
altro:
print('Dov'è??')

Vediamo l'output di questo comando:

Richiesta personalizzata per ottenere la password

Questo comando è utile quando vuoi chiedere alcune passphrase oltre alle stringhe di password.

Streaming password a un altro streaml

Il getpass il modulo ci consente di trasmettere la password che un utente inserisce in altri flussi come un file, registri o qualsiasi cosa che possa essere rappresentata come un flusso in realtà. Abbiamo solo bisogno di passare il flusso alla funzione stessa:

importa getpass
sistema di importazione
pwd = getpass.getpass(stream=sys.stderr)
print('Password inserita: ', pwd)

Ecco cosa otteniamo indietro con questo comando:

Streaming password ad altri flussi

Ottenere password senza Terminale

il pitone getpass il modulo necessita di tty che può essere controllato da a termios. Questo è applicabile quando lavoriamo con alcuni sistemi basati su Unix. Con questo, l'eco può essere disabilitato. Quando eseguiamo il seguente esempio su una macchina non Unix:

echo "non scuro" | python3 getpass_defaults.pi

Ecco cosa otteniamo indietro con questo comando:

comando termios

Quando abbiamo eseguito lo script su una macchina non Unix, l'output String era quello che abbiamo inserito. Altrimenti, avremmo semplicemente visto non scuro Stringa come output sul terminale.

Leggi di più su terminali di telescrivente Qui.

Conclusione

In questa lezione abbiamo visto come possiamo usare Python getpass modulo per gestire in modo efficiente le passphrase segrete nei nostri programmi Python.

Tutorial OpenTTD
OpenTTD è uno dei giochi di simulazione aziendale più popolari in circolazione. In questo gioco, devi creare una meravigliosa attività di trasporto. T...
SuperTuxKart per Linux
SuperTuxKart è un fantastico titolo progettato per offrirti l'esperienza di Mario Kart gratuitamente sul tuo sistema Linux. È piuttosto impegnativo e ...
Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...