Python getpass modul
Používání Pythonu getpass modulu je možné přijímat hesla v programech Pythonu a udržovat hesla v bezpečí. Uvidíme příklady zabezpečení hesel a také to, jak můžeme streamovat hesla z terminálu do textových souborů. Začněme několika příklady.
Python getpass základní příklad
V tomto příkladu začneme velmi základním příkladem toho, jak můžeme přimět uživatele, aby zadal heslo do terminálu a ujistil se, že se heslo neodráží zpět na příkazový řádek. Tady je stejný program:
import getpassSnaž se:
heslo = getpass.getpass ()
kromě Výjimky jako např .:
print ('Error Occured:', ex)
jiný:
tisk ('Zadané heslo:', heslo)
S tímto příkazem se vrátíme:
Získejte heslo tajemství
Řetězcové heslo je výchozí výzva, kterou nabízí skript pythonu. V dalším příkladu to bude přizpůsobení něčemu, co bychom rádi použili v našich programech.
Python getpass s vlastní výzvou
V tomto příkladu přizpůsobíme výzvu, která se zobrazí uživateli, když Python požádá o tajnou frázi:
import getpasspwd = getpass.getpass (prompt = 'Který je nejlepší ostrov Ubuntu navštívit?')
pokud pwd == 'LinuxHint':
print ('Samozřejmě!')
jiný:
print ('Kde to je?')
Podívejme se na výstup tohoto příkazu:
Vlastní výzva k získání hesla
Tento příkaz je užitečný, pokud chcete požádat o několik přístupových frází kromě řetězců hesel.
Streamujte heslo do jiného proudu
The getpass modul nám umožňuje streamovat heslo, které uživatel zadá, do některých dalších streamů, jako je soubor, protokoly nebo cokoli, co lze vlastně reprezentovat jako stream. Musíme jen předat stream samotné funkci:
import getpassimport sys
pwd = getpass.getpass (stream = sys.stderr)
print ('Entered Password:', pwd)
S tímto příkazem se vrátíme:
Streamování hesla do jiných streamů
Získávání hesel bez terminálu
Python getpass modul potřebuje tty, které lze ovládat a termio. To platí, když pracujeme s některými systémy založenými na Unixu. Tímto způsobem lze deaktivovat ozvěnu. Když provedeme následující příklad na počítači, který není Unix:
echo "není tmavé" | python3 getpass_defaults.pyS tímto příkazem se vrátíme:
příkaz termios
Když jsme spustili skript na jiném stroji než Unix, zadali jsme výstupní řetězec. Jinak bychom to prostě viděli ne tmavé Řetězec jako výstup na terminálu.
Přečtěte si více o dálnopisné terminály tady.
Závěr
V této lekci jsme se zaměřili na to, jak můžeme Python využít getpass modul pro efektivní správu tajných přístupových frází v našich programech Python.