복붙노트

[PYTHON] stdin에서 암호 읽기

PYTHON

stdin에서 암호 읽기

시나리오 : 대화식 CLI Python 프로그램으로 암호가 필요합니다. 즉, 가능한 GUI 솔루션이 없음을 의미합니다.

bash에서는 화면을 통해 다시 묻지 않고 비밀번호를 읽을 수있었습니다.

read -s

파이썬과 비슷한 것이 있습니까? 나.

password = raw_input('Password: ', dont_print_statement_back_to_screen)

대안 : 화면에 다시 보내기 전에 입력 된 문자를 '*'로 바꾸십시오 (브라우저 스타일).

해결법

  1. ==============================

    1.

    >>> import getpass
    >>> pw = getpass.getpass()
    
  2. ==============================

    2.예, getpass : "사용자에게 에코를하지 않고 비밀번호를 묻습니다."

    예, getpass : "사용자에게 에코를하지 않고 비밀번호를 묻습니다."

    편집 : 나는이 모듈을 직접 사용해 본적이 없기 때문에, 내가 방금 요리 한 것입니다 (비록 당신이 비슷한 장소에 온다면 비슷한 코드를 발견하더라도 놀라지 않을 것입니다) :

    import getpass
    
    def login():
        user = input("Username [%s]: " % getpass.getuser())
        if not user:
            user = getpass.getuser()
    
        pprompt = lambda: (getpass.getpass(), getpass.getpass('Retype password: '))
    
        p1, p2 = pprompt()
        while p1 != p2:
            print('Passwords do not match. Try again')
            p1, p2 = pprompt()
    
        return user, p1
    

    (이것은 Python 3.x이며, Python 2.x를 사용할 때 input 대신 raw_input을 사용합니다.)

  3. from https://stackoverflow.com/questions/1761744/read-password-from-stdin by cc-by-sa and MIT license