Computer >> Máy Tính >  >> Lập trình >> Python

getpass () và getuser () bằng Python (Mật khẩu không có echo)

Khi bạn tạo một số chương trình python cần bảo vệ bằng mật khẩu trước khi nó có thể chạy, chúng tôi sẽ nhờ đến sự trợ giúp của các mô-đun getpass () và getuser (). Chúng có nhiều chức năng có thể được sử dụng để quản lý bảo vệ mật khẩu cũng như truy xuất mật khẩu, v.v. Trong bài viết này, chúng ta sẽ xem cách nhập mật khẩu có và không lặp lại mật khẩu trên màn hình. Dưới đây là các cách khác nhau để xử lý.

Với lời nhắc

Đoạn mã dưới đây được lưu vào một tệp (logon.py). Hàm getpass () in ra một lời nhắc sau đó đọc thông tin đầu vào từ người dùng cho đến khi họ nhấn return

Ví dụ

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

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

$ python logon.py
Password:
Password entered: abracadbra

Với Câu hỏi Bảo mật

Tiếp theo, chúng tôi có thể nâng cao mã để nhắc người dùng với một câu hỏi bảo mật. Câu hỏi này giúp người dùng nhớ lại mật khẩu.

Ví dụ

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

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

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

Hiển thị tên đăng nhập

Đôi khi chúng ta cần biết tên đăng nhập mà chúng ta đang sử dụng để chạy script. Điều này đạt được bằng cách sử dụng hàm getuser ().

Ví dụ

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.")

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

User Name: user1
You are in !