Python getpass modul
Python használatával getpass modulban lehetséges a jelszavak elfogadása a Python programokban és a jelszavak biztonságban tartása. Látni fogunk példákat a jelszavak biztonságának megőrzésére, valamint arra, hogy miként továbbíthatjuk a jelszavakat a terminálról szöveges fájlokba. Kezdjük néhány példával.
Python getpass alap példa
Ebben a példában egy nagyon egyszerű példával kezdjük, hogy miként lehet a felhasználót arra késztetni, hogy írja be a jelszót a terminálba, és győződjön meg arról, hogy a jelszó nincs visszhangozva a parancssorba. Itt ugyanaz a program:
import getpasspróbáld ki:
jelszó = getpass.getpass ()
kivéve a kivételt, mint ex:
nyomtatás ('Hiba történt:', ex)
más:
nyomtatás ('Bevitt jelszó:', jelszó)
Íme, amit ezzel a paranccsal kapunk vissza:
Titkos jelszó
A string jelszó az alapértelmezett prompt, amelyet a python szkript ad meg. A következő példában ezt testreszabjuk valamire, amelyet szívesen használunk a programjainkban.
Python getpass egyéni parancssorral
Ebben a példában testreszabjuk azt a parancsot, amely a felhasználó számára megjelenik, amikor a Python titkos kifejezést kér:
import getpasspwd = getpass.getpass (prompt = 'Melyik a legjobban látogatható Ubuntu-sziget?')
ha pwd == 'LinuxHint':
nyomtatás ('Természetesen!')
más:
print ('Hol van?')
Lássuk a parancs kimenetét:
Egyéni kérés a jelszó megszerzéséhez
Ez a parancs akkor hasznos, ha a jelszó karaktersorozatán kívül néhány jelszót szeretne kérni.
Adja át a jelszót egy másik adatfolyamba
A getpass modul lehetővé teszi számunkra, hogy a felhasználó által beírt jelszót valamilyen más adatfolyamba továbbítsuk, például fájlba, naplókba vagy bármi másba, ami valójában streamként ábrázolható. Csak át kell adnunk az adatfolyamot magának a funkciónak:
import getpassimport sys
pwd = getpass.getpass (folyam = sys.stderr)
nyomtatás ('Bevitt jelszó:', pwd)
Íme, amit ezzel a paranccsal kapunk vissza:
Jelszó továbbítása más adatfolyamokhoz
Jelszavak megszerzése a terminál nélkül
A Python getpass modulnak tty-ra van szüksége, amelyet a terminusok. Ez akkor alkalmazható, ha néhány Unix alapú rendszerrel dolgozunk. Ezzel kikapcsolható a visszhang. Amikor a következő példát hajtjuk végre egy nem Unix gépen:
visszhang "nem sötét" | python3 getpass_defaults.pyÍme, amit ezzel a paranccsal kapunk vissza:
termios parancs
Amikor a szkriptet nem Unix gépen futtattuk, a String kimenetet adtuk meg. Ellenkező esetben egyszerűen láttuk volna nem sötét Karakterlánc, mint kimenet a terminálon.
További információ erről teletype terminálok itt.
Következtetés
Ebben a leckében megvizsgáltuk, hogyan használhatjuk a Python-t getpass modul a titkos jelszavak hatékony kezeléséhez a Python programjainkban.