Python

Python getpass modulis

Python getpass modulis
Mēs visi glabājam noslēpumus, vai ne? Pat mūsu programmas to dara. Noslēpumos ir svarīgi, lai mums tie būtu droši un slepeni paslēpti no entītijām, kurām nevajadzētu piekļūt šīm slepenajām atslēgām, paroles frāzēm vai parolei, kas lietotājiem ļaus darīt kaut ko tādu, kam nav atļauts. Tāda pati uzmanība ir jāpievērš arī tad, ja mēs no mūsu programmās esošajiem lietotājiem pieņemam slepenas atslēgas, paroles un frāzes vai paroli, piemēram, slepeno virkni nedrīkst atkārtot, kad mēs tās ierakstām ekrānā. Python getpass modulis ļauj mums to izdarīt efektīvi.

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 getpass
mēģ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 getpass
pwd = 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 getpass
importa 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.py

Lū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.

Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...