Python getpass modulis
Izmantojot Python getpass modulī, ir iespējams pieņemt paroles Python programmās un saglabāt paroles drošībā. Mēs redzēsim piemērus paroļu drošībai un arī to, kā mēs varam straumēt paroles no termināla uz teksta failiem. Sāksim ar dažiem piemēriem.
Python getpass pamata piemērs
Šajā piemērā mēs sāksim ar ļoti vienkāršu piemēru tam, kā mēs varam likt lietotājam ievadīt paroli terminālā un pārliecināties, ka parole netiek atkārtota komandu uzvednē. Šeit ir tā pati programma:
importa getpassmēģiniet:
parole = getpass.getpass ()
izņemot izņēmumu kā ex:
drukāt ('Notikusi kļūda:', ex)
cits:
drukāt ('Ievadītā parole:', parole)
Lūk, ko mēs atgūsim ar šo komandu:
Iegūstiet paroles noslēpumu
Virknes parole ir noklusējuma uzvedne, kuru uzrāda python skripts. Nākamajā piemērā to pielāgosim tam, ko mēs vēlētos izmantot savās programmās.
Python getpass ar pielāgotu uzvedni
Šajā piemērā mēs pielāgosim uzvedni, kas tiek parādīta lietotājam, kad Python pieprasa slepenu frāzi:
importa getpasspwd = getpass.getpass (prompt = 'Kurā vietā vislabāk apmeklēt Ubuntu salu?')
ja pwd == 'LinuxHint':
drukāt ('Protams!')
cits:
drukāt ('Kur tas ir?')
Apskatīsim šīs komandas izvadi:
Pielāgota uzvedne, lai iegūtu paroli
Šī komanda ir noderīga, ja vēlaties lūgt dažas ieejas frāzes, izņemot paroles virknes.
Straumējiet paroli citā straumē
The getpass modulis ļauj mums straumēt paroli, kuru lietotājs ievada citās plūsmās, piemēram, failā, žurnālos vai citur, ko faktiski var attēlot kā straumi. Mums vienkārši jānodod straume pašai funkcijai:
importa getpassimporta sys
pwd = getpass.getpass (straume = sys.stderr)
drukāt ('Ievadītā parole:', pwd)
Lūk, ko mēs atgūsim ar šo komandu:
Paroles straumēšana citās straumēs
Paroļu iegūšana bez termināla
Python getpass modulim nepieciešams tty, kuru var vadīt ar a termios. Tas ir piemērojams, ja mēs strādājam ar dažām Unix balstītām sistēmām. Ar to atbalss var tikt atspējots. Veicot šādu piemēru mašīnā, kas nav Unix mašīna:
atbalss "nav tumšs" | python3 getpass_defaults.pyLūk, ko mēs atgūsim ar šo komandu:
termios komanda
Kad mēs palaidām skriptu datorā, kas nav Unix, izejas virkne bija tā, ko mēs ievadījām. Pretējā gadījumā mēs vienkārši būtu redzējuši nav tumšs Stīga kā izeja uz termināla.
Lasiet vairāk par teletipa termināļi šeit.
Secinājums
Šajā nodarbībā mēs apskatījām, kā mēs varam izmantot Python getpass modulis, lai efektīvi pārvaldītu slepenās ieejas frāzes mūsu Python programmās.