Python

Pythoni getpass moodul

Pythoni getpass moodul
Me kõik hoiame saladusi, kas pole? Isegi meie programmid teevad. Saladuste juures on oluline see, et peame neid turvaliselt ja salaja varjatud üksuste eest, kellel ei peaks olema juurdepääsu nendele salajastele võtmetele, paroolifraasidele või paroolidele, mis võimaldavad kasutajatel teha midagi, milleks neil pole luba. Sama ettevaatlik tuleb olla ka siis, kui aktsepteerime oma programmides kasutajatelt salajasi võtmeid, paroolifraase või paroole, nagu ei tohiks salajast stringi ekraanile tippides kajada. Python getpass moodul võimaldab meil seda tõhusalt teha.

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ääsupunkt
proovige:
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ääsupunkt
pwd = 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ääsupunkt
impordi 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.py

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

OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...
OpenTTD õpetus
OpenTTD on seal üks populaarsemaid ärisimulatsioonimänge. Selles mängus peate looma suurepärase transpordiettevõtte. Alustate siiski alguses umbes 190...
SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...