Python

Python getpass-modul

Python getpass-modul
Vi holder alle på hemmeligheter, ikke sant? Selv våre programmer 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, passordene eller passordet som gjør det mulig for brukere å gjøre noe de ikke er autorisert til å gjøre. Samme forsiktighet må utvises når vi godtar hemmelige nøkler, passord eller passord fra brukere i programmene våre, for eksempel den hemmelige strengen skal ikke ekko når vi skriver dem på skjermen. Python getpass modul lar oss gjøre dette effektivt.

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 getpass
prø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 getpass
pwd = 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 getpass
importer 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.py

Her 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.

Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...
Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...
Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...