Python getpass-modul
Bruke Python getpass modul, er det mulig å godta passord i Python-programmer og holde passordfrasene trygge. Vi vil se eksempler på å holde passord trygt og også hvordan vi kan streame passord fra terminalen til tekstfiler. La oss komme i gang med noen eksempler.
Python getpass grunnleggende eksempel
I dette eksemplet vil vi starte med et veldig grunnleggende eksempel på hvordan vi kan få en bruker til å skrive inn et passord i terminalen og sørge for at passordet ikke blir ekko tilbake til ledeteksten. Her er det samme programmet:
importer getpassprøve:
passord = getpass.getpass ()
unntatt unntak som eks:
print ('Feil oppstod:', ex)
ellers:
skriv ut ('Angitt passord:', passord)
Her er hva vi kommer tilbake med denne kommandoen:
Få hemmelig passord
Strengpassordet er standardprompten som presenteres av python-skriptet. I neste eksempel vil vi tilpasse det til noe vi vil bruke i programmene våre.
Python getpass med tilpasset ledetekst
I dette eksemplet vil vi tilpasse ledeteksten som vises til brukeren når Python ber om en hemmelig setning:
importer getpasspwd = getpass.getpass (prompt = 'Hvilken er den beste Ubuntu-øya å besøke?')
hvis pwd == 'LinuxHint':
utskrift ('Ofcourse!')
ellers:
print ('Hvor er det?')
La oss se utdataene for denne kommandoen:
Egendefinert ledetekst for å få passord
Denne kommandoen er nyttig når du vil be om noen passfraser bortsett fra passordstrenger.
Stream passord til en annen streaml
De getpass modul tillater oss å streame passordet en bruker skriver inn til noen andre strømmer som en fil, logger eller noe som kan representeres som en strøm faktisk. Vi trenger bare å sende strømmen til selve funksjonen:
importer getpassimporter sys
pwd = getpass.getpass (stream = sys.stderr)
skriv ut ('Angitt passord:', pwd)
Her er hva vi kommer tilbake med denne kommandoen:
Streaming passord til andre strømmer
Å få passord uten Terminal
Python getpass modulen trenger tty som kan styres av en termios. Dette gjelder når vi jobber med noen Unix-baserte systemer. Med dette kan ekko deaktiveres. Når vi utfører følgende eksempel på en ikke-Unix-maskin:
ekko "ikke mørkt" | python3 getpass_defaults.pyHer er hva vi kommer tilbake med denne kommandoen:
termios kommando
Da vi kjørte skriptet på en ikke-Unix-maskin, var output String det vi skrev inn. Ellers hadde vi rett og slett sett ikke mørkt Streng som utgang på terminalen.
Les mer om teletypeterminaler her.
Konklusjon
I denne leksjonen så vi på hvordan vi kan bruke Python getpass modul for å administrere hemmelige passfraser effektivt i våre Python-programmer.