Python GetPass -modul

Python GetPass -modul
Vi holder alle hemmeligheter, gjør vi ikke det? Selv programmene våre gjør det. Det viktige med hemmeligheter er at vi må holde dem trygt og hemmelig skjult for enheter som ikke skal ha tilgang til disse hemmelige nøklene, pass-sårene eller passordet som lar brukerne gjøre noe de ikke er autorisert til å gjøre. Samme forsiktighet må utvises når vi godtar hemmelige nøkler, pass-setninger eller passord fra brukere i programmene våre som den hemmelige strengen, skal ikke gjentas når vi skriver dem på skjermen. Python GetPass Modul lar oss gjøre dette effektivt.

Python GetPass -modul

Bruker Python GetPass Modul, det er mulig å godta passord i Python -programmer og holde passfrasene trygge. Vi vil se eksempler på å holde passord trygge 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 å angi et passord i terminalen og sørge for at passordet ikke gjentas tilbake til ledeteksten. Her er det samme programmet:

Importer getPass
prøve:
Passord = GetPass.GetPass ()
Bortsett fra unntak som eks:
trykk ('Feil oppstod:', eks)
ellers:
Skriv ut ('Skriv inn passord:', passord)

Dette er hva vi kommer tilbake med denne kommandoen:

Få passordhemmelighet

Strengpassordet er standard ledeteksten som presenteres av Python -skriptet. I neste eksempel vil tilpasse det til noe vi vil bruke i programmene våre.

Python getpass med tilpasset hurtig

I dette eksemplet vil vi tilpasse ledeteksten som vises til brukeren når Python ber om en hemmelig frase:

Importer getPass
PWD = GetPass.GetPass (spurt = 'som er best Ubuntu Island å besøke?')
Hvis pwd == 'Linuxhint':
trykte ('selvfølgelig!')
ellers:
trykk ('Hvor er det?')

La oss se utdataene for denne kommandoen:

Tilpasset spørsmål om å få passord

Denne kommandoen er nyttig når du vil be om noen passfraser bortsett fra passordstrengene.

Strøm passord til en annen strømlinje

De GetPass Modul lar oss streame passordet en bruker kommer inn i noen andre strømmer som en fil, logger eller noe som faktisk kan representeres som en strøm. Vi trenger bare å gi strømmen til selve funksjonen:

Importer getPass
Importer Sys
PWD = GetPass.GetPass (Stream = Sys.stderr)
Skriv ut ('Skriv inn passord:', PWD)

Dette 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 kontrolleres av en Terminos. Dette er aktuelt når vi jobber med noen UNIX -baserte systemer. Med dette kan ekko de deaktiveres. Når vi utfører følgende eksempel på en ikke-unix maskin:

Ekko "Not Dark" | python3 getpass_defaults.py

Dette er hva vi kommer tilbake med denne kommandoen:

Termios -kommando

Da vi kjørte skriptet på en ikke-unix-maskin, var outputstrengen det vi skrev inn. Ellers ville vi ganske enkelt sett ikke mørk Streng som utgang på terminalen.

Les mer om Teletype terminaler her.

Konklusjon

I denne leksjonen så vi på hvordan vi kan benytte oss av Python GetPass Modul for å administrere hemmelige passfraser effektivt i Python -programmene våre.