Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 getpass() 및 getuser()(에코 없는 비밀번호)

<시간/>

실행하기 전에 암호 보호가 필요한 일부 python 프로그램을 만들 때 getpass() 및 getuser() 모듈의 도움을 받습니다. 비밀번호 보호 및 비밀번호 검색 등을 관리하는 데 사용할 수 있는 다양한 기능이 있습니다. 이 기사에서는 화면에 비밀번호를 다시 표시하거나 반향하지 않고 비밀번호를 입력하는 방법을 살펴보겠습니다. 다음은 다양한 처리 방법입니다.

프롬프트 포함

아래 코드는 파일(logon.py)에 저장됩니다. getpass() 함수는 프롬프트를 인쇄한 다음 사용자가 return을 누를 때까지 입력을 읽습니다.

import getpass
try:
   pwd = getpass.getpass()
except Exception as err:
   print('Error Occured : ', err)
else:
   print('Password entered :', pwd)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

$ python logon.py
Password:
Password entered: abracadbra

보안 질문 포함

다음으로, 사용자에게 보안 질문을 하도록 코드를 향상시킬 수 있습니다. 이 질문은 사용자가 비밀번호를 기억하는 데 도움이 됩니다.

import getpass
pwd = getpass .getpass(prompt = 'What is your favorite colour?')
if pwd == 'Crimson':
   print('You are in!')
else:
   print('Try Again')

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

$ python logon.py
'What is your favorite colour?
You are in!

로그인 이름 표시

때로는 스크립트를 실행하는 데 사용하는 로그인 이름을 알아야 합니다. 이것은 getuser() 함수를 사용하여 달성됩니다.

import getpass
user = getpass.getuser()
while True:
   pwd = getpass.getpass("User Name : ",user)
   if pwd == 'Crimson':
      print("You are in!")
   else:
      print("The password you entered is wrong.")

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

User Name: user1
You are in !
에 있습니다.