Python Скрытие raw_input

так что это мой код, и я хочу скрыть свой пароль, но я не знаю, как это сделать. я огляделся, и никто из них, похоже, не вписывается в мое кодирование, это текущая кодировка. я имею в виду, что я видел show = "*", а также getpass, но я не знаю, как разместить их в этой кодировке. im, используя python 2.7.3 и im кодирование на малине 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 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()

Ответы

Ответ 1

getpass скрывает ввод, просто замените raw_input после импорта модуля getpass, например:

import getpass
.
.
.
pa = getpass.getpass()

Ответ 2

Используйте библиотеку hashlib Python, чтобы взять хэш MD5 на вход, и сравните его с хешированной версией вашего пароля в script. Вот пример, как вы могли это сделать.

Ответ 3

Никогда не храните userId и пароль в исходном файле, эту уязвимость!

Сохраните их в текстовом файле и зашифруйте их с помощью некоторой криптографии с симметричным ключом (по крайней мере MD5 или предлагаемый в настоящее время минимальный стандарт SHA-3) для кодирования пароля.

Результат будет выглядеть примерно так:

: администратор: $1 $DQX/Wdy5 $QQrH98XjvFBOm6vqu3qN/1:: Администратор: админ: [email protected]:

В вашем блоке кода вы читаете файл и используете тот же алгоритм для дешифрования пароля.