Python

Python getpass-module

Python getpass-module
We hebben allemaal geheimen, nietwaar?? Zelfs onze programma's doen dat. Het belangrijkste van geheimen is dat we ze veilig en in het geheim verborgen moeten houden voor entiteiten die geen toegang zouden moeten hebben tot deze geheime sleutels, wachtwoordzinnen of wachtwoord waarmee gebruikers iets kunnen doen waarvoor ze niet geautoriseerd zijn. Dezelfde zorg moet worden betracht wanneer we geheime sleutels, wachtwoordzinnen of wachtwoorden accepteren van gebruikers in onze programma's, zoals de geheime String mag niet worden herhaald wanneer we ze op het scherm typen. De Python Krijg een pas module stelt ons in staat om dit efficiënt te doen.

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 importeren
proberen:
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 importeren
pwd = 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 importeren
import 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.py

Dit 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.

Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...
Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...