„Python getpass“ modulis
Naudojant „Python“ getpass modulį, galima priimti slaptažodžius „Python“ programose ir saugoti slaptažodžių frazes. Mes pamatysime slaptažodžių saugojimo pavyzdžius ir tai, kaip mes galime srautus perduoti iš terminalo į tekstinius failus. Pradėkime nuo kelių pavyzdžių.
„Python getpass“ pagrindinis pavyzdys
Šiame pavyzdyje mes pradėsime nuo labai paprasto pavyzdžio, kaip mes galime priversti vartotoją įvesti slaptažodį terminale ir įsitikinti, kad slaptažodis nėra pakartotas komandų eilutėje. Čia yra ta pati programa:
importo kelialapisbandyti:
slaptažodis = getpass.getpass ()
išskyrus ex išimtį:
spausdinti („Įvyko klaida:“, buvęs)
Kitas:
spausdinti ('Įvestas slaptažodis:', slaptažodis)
Štai ką mes grąžiname naudodami šią komandą:
Gaukite slaptažodžio paslaptį
Eilutės slaptažodis yra numatytasis raginimas, kurį pateikia python scenarijus. Kitame pavyzdyje tai pritaikysime tam, ką norėtume naudoti savo programose.
„Python getpass“ su pasirinktine eilute
Šiame pavyzdyje pritaikysime raginimą, kuris bus rodomas vartotojui, kai „Python“ paprašys slaptos frazės:
importo kelialapispwd = getpass.getpass (prompt = 'Kurioje geriausia aplankyti Ubuntu salą?„)
jei pwd == 'LinuxHint':
spausdinti („Žinoma!„)
Kitas:
spausdinti ('Kur tai?„)
Pažiūrėkime šios komandos išvestį:
Pasirinktinis raginimas gauti slaptažodį
Ši komanda yra naudinga, kai norite paprašyti kai kurių slaptafrazių, išskyrus slaptažodžio eilutes.
Perduokite slaptažodį į kitą srautą
The getpass modulis leidžia mums perduoti slaptažodį, kurį vartotojas įveda į kitus srautus, pvz., failą, žurnalus ar bet ką, kas gali būti pateikiama kaip srautas iš tikrųjų. Mes tiesiog turime perduoti srautą pačiai funkcijai:
importo kelialapisimportuoti sistemas
pwd = getpass.getpass (srautas = sys.stderr)
spausdinti ('Įvestas slaptažodis:', pwd)
Štai ką mes grąžiname naudodami šią komandą:
Srauto srautas į kitus srautus
Slaptažodžių gavimas be terminalo
„Python“ getpass moduliui reikia tty, kurį galima valdyti a terminai. Tai taikoma, kai dirbame su kai kuriomis „Unix“ sistemomis. Tokiu būdu aidas gali būti išjungtas. Kai vykdome šį pavyzdį ne „Unix“ kompiuteryje:
aidas "netamsus" | python3 getpass_defaults.pyŠtai ką mes grąžiname naudodami šią komandą:
termios komanda
Vykdydami scenarijų ne „Unix“ kompiuteryje, išvesties eilutė buvo tai, ką mes įvedėme. Priešingu atveju mes būtume paprasčiausiai pamatę ne tamsu Stygos kaip terminalo išvestis.
Skaitykite daugiau apie teletype terminalai čia.
Išvada
Šioje pamokoje mes apžvelgėme, kaip galime naudotis „Python“ getpass modulis, skirtas efektyviai valdyti slaptas slaptafrazes mūsų „Python“ programose.