Pythoni getpass moodul
Pythoni kasutamine getpass mooduliga on võimalik Pythoni programmides paroole aktsepteerida ja paroolid turvalisena hoida. Näeme näiteid paroolide turvalise hoidmise kohta ja ka seda, kuidas saame paroole terminalist tekstifailidesse voogesitada. Alustame mõne näite abil.
Pythoni getpass põhinäide
Selles näites alustame väga lihtsa näitega selle kohta, kuidas saame panna kasutaja terminali parooli sisestama ja veenduma, et parool ei kajastu käsureale tagasi. Siin on sama programm:
impordi pääsupunktproovige:
parool = getpass.getpass ()
välja arvatud erand ex:
print ('Ilmnes viga:', endine)
muu:
print ('Sisestatud parool:', parool)
Selle käsuga saame tagasi:
Hankige salasõna saladus
Stringi parool on vaikeviip, mille esitab pythoni skript. Järgmises näites kohandame seda millekski, mida me soovime oma programmides kasutada.
Pythoni getpass kohandatud viipaga
Selles näites kohandame viipa, mida kuvatakse kasutajale, kui Python küsib salajast fraasi:
impordi pääsupunktpwd = pääse.getpass (prompt = 'Milline on parim külastatav Ubuntu saar?')
kui pwd == 'LinuxHint':
print ('Muidugi!')
muu:
print ('Kus see on?')
Vaatame selle käsu väljundit:
Kohandatud viip parooli saamiseks
See käsk on kasulik, kui soovite küsida mõnda parooli peale paroolistringide.
Voogesitage parool teise voogu
The getpass moodul võimaldab meil voogesitada parooli, mille kasutaja sisestab, mõnda muusse voogu, näiteks faili, logisid või mida iganes, mida saab tegelikult voogena kujutada. Peame lihtsalt edastama voo funktsioonile endale:
impordi pääsupunktimpordi süsteem
pwd = getpass.getpass (voog = sys.stderr)
print ('Sisestatud parool:', pwd)
Selle käsuga saame tagasi:
Parooli voogesitus teistesse voogudesse
Paroolide hankimine ilma terminalita
Python getpass moodul vajab tty, mida saab kontrollida a abil terminid. See on kohaldatav, kui töötame mõne Unixil põhineva süsteemiga. Selle abil saab kaja keelata. Kui täidame järgmise näite mitte-Unixi masinas:
kaja "pole tume" | python3 getpass_defaults.pySelle käsuga saame tagasi:
termios käsk
Kui käitasime skripti mitte-Unixi masinas, siis sisestasime väljundstringi. Vastasel juhul oleksime lihtsalt näinud pole pime String terminali väljundina.
Loe lähemalt teletüüpi terminalid siin.
Järeldus
Selles tunnis vaatasime, kuidas saaksime Pythoni kasutada getpass moodul salajaste paroolide tõhusaks haldamiseks meie Pythoni programmides.