Module Python Getpass
Utilisation de Python faire passer Module, il est possible d'accepter les mots de passe dans les programmes Python et de protéger les phrases de passe. Nous verrons des exemples de maintien des mots de passe en sécurité et de la façon dont nous pouvons diffuser des mots de passe du terminal aux fichiers texte. Commençons par quelques exemples.
Exemple de base Python Getpass
Dans cet exemple, nous commencerons par un exemple très fondamental de la façon dont nous pouvons faire entrer un utilisateur à saisir un mot de passe dans le terminal et nous assurer que le mot de passe n'est pas repris à l'invite de commande. Voici le même programme:
Importer GetPass
essayer:
mot de passe = getpass.getPass ()
sauf l'exception en tant qu'ex:
Print ('Erreur s'est produite:', ex)
autre:
Imprimer ('Mot de passe entré:', mot de passe)
Voici ce que nous récupérons avec cette commande:
Obtenez un mot de passe secret
Le mot de passe de chaîne est l'invite par défaut qui est présentée par le script Python. Dans l'exemple suivant sera de personnaliser cela à quelque chose que nous aimerions utiliser dans nos programmes.
Python getpass avec une invite personnalisée
Dans cet exemple, nous personnaliserons l'invite qui est montrée à l'utilisateur lorsque Python demande une phrase secrète:
Importer GetPass
pwd = getpass.getpass (prompt = 'qui est la meilleure île d'Ubuntu à visiter?')
Si pwd == 'Linuxhint':
Imprimer ('bien sûr!')
autre:
imprimer ('où est-ce?')
Voyons la sortie de cette commande:
Invite personnalisée pour obtenir le mot de passe
Cette commande est utile lorsque vous souhaitez demander des phrases de passe en dehors des chaînes de mot de passe.
Diffuser le mot de passe vers un autre streaml
Le faire passer Le module nous permet de diffuser le mot de passe qu'un utilisateur entre dans certains autres flux comme un fichier, des journaux ou tout ce qui peut être représenté en tant que flux. Nous avons juste besoin de passer le flux à la fonction elle-même:
Importer GetPass
importer sys
pwd = getpass.getpass (stream = sys.stderr)
Print ('Mot de passe entré:', PWD)
Voici ce que nous récupérons avec cette commande:
Streaming Mot de passe vers d'autres flux
Obtenir des mots de passe sans terminal
Le python faire passer le module doit être contrôlé par un termios. Ceci est applicable lorsque nous travaillons avec certains systèmes basés sur UNIX. Avec cela, l'écho peut être désactivé. Lorsque nous exécutons l'exemple suivant sur une machine non Unix:
Echo "pas sombre" | python3 getpass_defaults.py
Voici ce que nous récupérons avec cette commande:
Commande Termios
Alors que nous exécutions le script sur une machine non Unix, la chaîne de sortie était ce que nous entrons. Sinon, nous aurions simplement vu pas sombre Chaîne comme sortie sur le terminal.
En savoir plus sur Télétype terminaux ici.
Conclusion
Dans cette leçon, nous avons examiné comment nous pouvons utiliser Python faire passer Module pour gérer efficacement les phrases de passe secrètes dans nos programmes Python.