Python getpass-module
Python gebruiken Krijg een pas module, is het mogelijk om wachtwoorden in Python-programma's te accepteren en de wachtwoordzinnen veilig te houden. We zullen voorbeelden zien van het veilig bewaren van wachtwoorden en ook hoe we wachtwoorden van de terminal naar tekstbestanden kunnen streamen. Laten we beginnen met enkele voorbeelden.
Python getpass basisvoorbeeld
In dit voorbeeld beginnen we met een heel eenvoudig voorbeeld van hoe we een gebruiker een wachtwoord in de terminal kunnen laten invoeren en ervoor zorgen dat het wachtwoord niet wordt teruggestuurd naar de opdrachtprompt. Hier is hetzelfde programma:
getpass importerenproberen:
wachtwoord = getpass.Krijg een pas()
uitzondering Uitzondering als ex:
print('Er is een fout opgetreden: ', ex)
anders:
print('Ingevoerd wachtwoord :', wachtwoord)
Dit is wat we terugkrijgen met deze opdracht:
Krijg wachtwoordgeheim
Het stringwachtwoord is de standaardprompt die wordt weergegeven door het python-script. In het volgende voorbeeld zullen we dat aanpassen aan iets dat we graag in onze programma's willen gebruiken.
Python getpass met aangepaste prompt
In dit voorbeeld zullen we de prompt aanpassen die aan de gebruiker wordt getoond wanneer Python om een geheime zin vraagt:
getpass importerenpwd = getpass.getpass(prompt = 'Wat is het beste Ubuntu-eiland om te bezoeken?'?')
if pwd == 'LinuxHint':
print('Natuurlijk!')
anders:
print('Waar is dat??')
Laten we de uitvoer voor deze opdracht bekijken:
Aangepaste prompt om wachtwoord te krijgen
Deze opdracht is handig als u om enkele wachtwoordzinnen wilt vragen, naast wachtwoordreeksen.
Stream wachtwoord naar een andere stream
De Krijg een pas module stelt ons in staat om het wachtwoord dat een gebruiker invoert naar andere streams te streamen, zoals een bestand, logs of iets anders dat in feite als een stream kan worden weergegeven. We hoeven alleen de stream door te geven aan de functie zelf:
getpass importerenimport systeem
pwd = getpass.getpass(stream=sys.stderr)
print('Ingevoerd wachtwoord: ', pwd)
Dit is wat we terugkrijgen met deze opdracht:
Streamingwachtwoord naar andere streams
Wachtwoorden verkrijgen zonder Terminal
De Python Krijg een pas module heeft tty nodig die kan worden bestuurd door a termios. Dit is van toepassing wanneer we met sommige op Unix gebaseerde systemen werken. Hiermee kan echo worden uitgeschakeld. Wanneer we het volgende voorbeeld uitvoeren op een niet-Unix-machine:
echo "niet donker" | python3 getpass_defaults.pyDit is wat we terugkrijgen met deze opdracht:
termios commando
Toen we het script op een niet-Unix-machine uitvoerden, was de output String wat we invoerden. Anders hadden we het gewoon gezien niet donker String als output op de terminal.
Lees meer over teletype-terminals hier.
Conclusie
In deze les hebben we gekeken hoe we gebruik kunnen maken van Python Krijg een pas module om geheime wachtwoordzinnen efficiënt te beheren in onze Python-programma's.