web-dev-qa-db-fra.com

Masquer la saisie du mot de passe raw_input ()

Je veux cacher mon mot de passe mais je ne sais pas comment. J'ai vu show="*" et aussi getpass mais je ne sais pas comment les placer dans ce code. J'utilise Python 2.7.3 et le codage sur un Raspberry Pi.

ans = True

while ans:
    print("""
                   -------------
                  | 1. Shutdown | 
                  | 2. Items    |
                   -------------
    """)

    ans=raw_input("""

             Please Enter A Number: """)

    if ans == "1":

        exit()
    Elif ans == "2":


        pa=raw_input("""

             Please Enter Password: """)

        if pa == "zombiekiller":

            print("""
                   ----------------
                  | 1. Pi password |
                  | 2. Shutdown    |
                   ----------------
            """)

            pe=raw_input ("""

             Please Enter A Number: """)

            if pe == "1":
                print ("""

             Pi's Password Is Adminofpi""")
                import time
                time.sleep(1)
                exit()

            Elif pe == "2":
                exit()

            else:
                print("""

             You Have Entered An Inccoredt Option. Terminating Programm""")
                import time
                time.sleep(1)
                exit()

        else:
                print("""

             You Have Entered An Inccorect Password. Terminating Programm""")
                import time
                time.sleep(1)
                exit()
19
Steven Sharman

getpass masque l'entrée, il suffit de remplacer raw_input après avoir importé le module getpass, comme ceci:

import getpass
.
.
.
pa = getpass.getpass()
53
tamasgal

Utilisez la bibliothèque hashlib de Python pour prendre le hachage MD5 de l'entrée et comparez-le avec une version hachée de votre mot de passe dans le script. Voici un exemple de la façon dont vous pourriez le faire.

0
Stephen Whitworth