Рубрики

getpass () и getuser () в Python (пароль без эха)

getpass () запрашивает у пользователя пароль без повторения. Модуль getpass обеспечивает безопасный способ обработки паролей, когда программы взаимодействуют с пользователями через терминал.

Этот модуль предоставляет две функции:

  1. GetPass ()
    getpass.getpass(prompt='Password: ', stream=None) 

    Функция getpass () используется для запроса пользователей с помощью строкового приглашения и считывает вводимые пользователем данные в виде пароля. Входные данные считываются с «Password:» и возвращаются вызывающей стороне в виде строки.

    Давайте рассмотрим несколько примеров, чтобы понять его реализацию.

    Пример 1: Нет запроса от вызывающего абонента

    # Простая программа на Python для демонстрации
    # getpass.getpass () для чтения пароля

    import getpass

      

    try:

        p = getpass.getpass()

    except Exception as error:

        print('ERROR', error)

    else:

        print('Password entered:', p)

    Здесь нет запроса от вызывающего абонента. Таким образом, он настроен на приглашение по умолчанию «Пароль».
    Выход :

    $ python3 getpass_example1.py
    
    Password: 
    ('Password entered:', 'aditi')
    

    Пример 2: секретный вопрос
    Существуют определенные программы, которые задают вопросы безопасности, а не запрашивают пароли для большей безопасности. Здесь подсказку можно изменить на любое значение.

    # Простая программа на Python для демонстрации
    # getpass.getpass () чтобы прочитать секретный вопрос

    import getpass

      

    p = getpass.getpass(prompt='Your favorite flower? ')

      

    if p.lower() == 'rose':

        print('Welcome..!!!')

    else:

        print('The answer entered by you is incorrect..!!!')

    Выход :

    $ python3 getpass_example2.py
    
    Your favorite flower?
    Welcome..!!!
    
    $ python3 getpass_example2.py
    
    Your favorite flower?
    The answer entered by you is incorrect..!!!
    
  2. GetUser ()
    GetPass. getuser ()

    Функция getuser () отображает логин пользователя. Эта функция проверяет переменные среды LOGNAME, USER, LNAME и USERNAME по порядку и возвращает значение первой непустой строки.

    Пример 3:

    # Программа Python для демонстрации работы
    # getpass.getuser ()

    import getpass

      

    user = getpass.getuser()

      

    while True:

        pwd = getpass.getpass("User Name : %s" % user)

      

        if pwd == 'abcd':

            print "Welcome!!!"

            break

        else:

            print "The password you entered is incorrect."

    Выход :

    $ python3 getpass_example3.py
    
    User Name : bot
    Welcome!!!
    
    $ python3 getpass_example3.py
    
    User Name : bot
    The password you entered is incorrect.
    
    

Эта статья предоставлена Адити Гупта . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

getpass () и getuser () в Python (пароль без эха)

0.00 (0%) 0 votes