Python getpass modul
Korištenje Pythona getpass modul, moguće je prihvatiti lozinke u programima Python i zaštititi lozinke. Vidjet ćemo primjere zaštite lozinki, kao i kako možemo prenijeti lozinke s terminala u tekstualne datoteke. Krenimo s nekoliko primjera.
Osnovni primjer Pythona getpass
U ovom ćemo primjeru započeti s vrlo osnovnim primjerom kako možemo natjerati korisnika da unese lozinku u terminal i pobrinemo se da lozinka ne bude odjeknuta natrag u naredbeni redak. Evo istog programa:
uvoz getpassprobati:
lozinka = getpass.getpass ()
osim iznimke kao npr:
print ('Došlo je do pogreške:', ex)
drugo:
print ('Unesena lozinka:', lozinka)
Evo što vraćamo ovom naredbom:
Dobiti tajnu lozinku
Lozinka niza je zadani upit koji je predstavljen python skriptom. U sljedećem primjeru to ćemo prilagoditi nečemu što bismo željeli koristiti u našim programima.
Python getpass s prilagođenim odzivnikom
U ovom ćemo primjeru prilagoditi upit koji se prikazuje korisniku kada Python zatraži tajnu frazu:
uvoz getpasspwd = getpass.getpass (prompt = 'Koji je najbolji otok Ubuntu posjetiti?')
ako je pwd == 'LinuxHint':
print ('Naravno!')
drugo:
print ('Gdje je to?')
Pogledajmo izlaz za ovu naredbu:
Prilagođeni upit za dobivanje lozinke
Ova je naredba korisna kada želite tražiti neke lozinke, osim nizova lozinki.
Stream lozinku na drugi tok
The getpass modul omogućuje nam strujanje lozinke koju korisnik unosi u neke druge tokove poput datoteke, dnevnika ili bilo čega što se zapravo može prikazati kao tok. Samo trebamo proslijediti tok samoj funkciji:
uvoz getpassimport sys
pwd = getpass.getpass (stream = sys.stderr)
print ('Unesena lozinka:', pwd)
Evo što vraćamo ovom naredbom:
Streaming lozinke za druge tokove
Dobivanje lozinki bez terminala
Python getpass modul treba tty kojim može upravljati a termios. To je primjenjivo kada radimo s nekim Unix sustavima. Ovim se odjek može onemogućiti. Kad izvršimo sljedeći primjer na stroju koji nije Unix:
odjek "nije mračno" | python3 getpass_defaults.pyEvo što vraćamo ovom naredbom:
naredba termios
Dok smo skriptu izvodili na uređaju koji nije Unix, izlazni je niz bio ono što smo unijeli. Inače bismo jednostavno vidjeli nije mračno Niz kao izlaz na terminalu.
Pročitajte više o teletaip terminali ovdje.
Zaključak
U ovoj smo lekciji pogledali kako možemo iskoristiti Python getpass modul za učinkovito upravljanje tajnim lozinkama u našim programima Python.