Thư viện python chuẩn getpass là gì?
Khi chúng tôi sử dụng ứng dụng dựa trên thiết bị đầu cuối với một số thông tin đăng nhập bảo mật sử dụng mật khẩu trước khi thực thi ứng dụng, thì nó sẽ được thực hiện với mô-đun Python Getpass. Trong bài viết này, chúng ta sẽ xem cách sử dụng mô-đun Getpass Show Mô-đun Getpass cung cấp hai chức năng
getpass()Trong nhiều chương trình, chúng tôi cần bảo mật dữ liệu hoặc chương trình thì trường hợp này chúng tôi sử dụng một số khóa bí mật hoặc mật khẩu để xác định người dùng. Sử dụng getpass() có thể chấp nhận mật khẩu trong chương trình python Python3
$ python getpass_defaults.py Password: You entered: sekret0 $ python getpass_defaults.py Password: You entered: sekret1 $ python getpass_defaults.py Password: You entered: sekret2 $ python getpass_defaults.py Password: You entered: sekret1 $ python getpass_defaults.py Password: You entered: sekret4 $ python getpass_defaults.py Password: You entered: sekret5 $ python getpass_defaults.py Password: You entered: sekret6 $ python getpass_defaults.py Password: You entered: sekret0 $ python getpass_defaults.py Password: You entered: sekret1 $ python getpass_defaults.py Password: You entered: sekret1 getpass 3getpass 4
$ python getpass_defaults.py Password: You entered: sekret5
$ python getpass_defaults.py Password: You entered: sekret5 đầu ra Hãy hiểu mô-đun này một số ví dụ getpass không cần nhắcTrong ví dụ này, chúng ta sẽ xem cách lấy mật khẩu từ người dùng và trả lại cùng một mật khẩu mà không cần nhắc Python3
$ python getpass_defaults.py Password: You entered: sekret0 $ python getpass_defaults.py Password: You entered: sekret1 $ python getpass_defaults.py Password: You entered: sekret02
$ python getpass_defaults.py Password: You entered: sekret06 đầu ra getpass với lời nhắcNếu người dùng muốn một số thông báo trước khi đăng nhập như câu hỏi bảo mật thì chúng tôi sẽ sử dụng các thuộc tính nhắc trong getpass Python3
$ python getpass_defaults.py Password: You entered: sekret0 $ python getpass_defaults.py Password: You entered: sekret1 $ python getpass_defaults.py Password: You entered: sekret2 $ python getpass_defaults.py Password: You entered: sekret1 $ python getpass_defaults.py Password: You entered: sekret14 $ python getpass_defaults.py Password: You entered: sekret5 $ python getpass_defaults.py Password: You entered: sekret6 $ python getpass_defaults.py Password: You entered: sekret0 $ python getpass_defaults.py Password: You entered: sekret1 $ python getpass_defaults.py Password: You entered: sekret1 $ python getpass_defaults.py Password: You entered: sekret20 getpass 4
$ python getpass_defaults.py Password: You entered: sekret25 $ python getpass_defaults.py Password: You entered: sekret5
$ python getpass_defaults.py Password: You entered: sekret12 $ python getpass_defaults.py Password: You entered: sekret5 đầu ra getpass với luồng khácChức năng này cho phép chúng tôi truyền mật khẩu mà người dùng nhập Python3
$ python getpass_defaults.py Password: You entered: sekret17
$ python getpass_defaults.py Password: You entered: sekret0 $ python getpass_defaults.py Password: You entered: sekret1 $ python getpass_defaults.py Password: You entered: sekret41 $ python getpass_defaults.py Password: You entered: sekret1 $ python getpass_defaults.py Password: You entered: sekret43
$ python getpass_defaults.py Password: You entered: sekret06 đầu ra getuser()Hàm này trả về tên đăng nhập hệ thống của người dùng. Nó kiểm tra biến môi trường của máy tính của bạn và lấy tên người dùng và trả về dưới dạng một chuỗi và nếu nó không thể tìm thấy biến môi trường thì ngoại lệ sẽ được đưa ra Nhiều chương trình tương tác với người dùng thông qua thiết bị đầu cuối cần hỏi người dùng giá trị mật khẩu mà không hiển thị nội dung người dùng nhập trên màn hình. Mô-đun getpass cung cấp một cách di động để xử lý các lời nhắc mật khẩu đó một cách an toàn Thí dụHàm getpass() in lời nhắc sau đó đọc đầu vào từ người dùng cho đến khi họ nhấn phím quay lại. Đầu vào được trả lại dưới dạng một chuỗi cho người gọi import getpass p = getpass.getpass() print 'You entered:', p Lời nhắc mặc định, nếu người gọi không chỉ định, là “Mật khẩu. ” $ python getpass_defaults.py Password: You entered: sekret Lời nhắc có thể được thay đổi thành bất kỳ giá trị nào mà chương trình của bạn cần import getpass p = getpass.getpass(prompt='What is your favorite color? ') if p.lower() == 'blue': print 'Right. Off you go.' else: print 'Auuuuugh!' Tôi không khuyên bạn nên sử dụng sơ đồ xác thực không an toàn như vậy, nhưng nó minh họa điểm $ python getpass_prompt.py What is your favorite color? Right. Off you go. $ python getpass_prompt.py What is your favorite color? Auuuuugh! Theo mặc định, getpass() sử dụng thiết bị xuất chuẩn để in chuỗi dấu nhắc. Đối với một chương trình có thể tạo ra đầu ra hữu ích trên sys. thiết bị xuất chuẩn, tốt hơn hết là gửi lời nhắc đến một luồng khác, chẳng hạn như sys. tiêu chuẩn import getpass import sys p = getpass.getpass(stream=sys.stderr) print 'You entered:', p Bằng cách này, đầu ra tiêu chuẩn có thể được chuyển hướng (đến một đường ống hoặc tệp) mà không cần nhìn thấy lời nhắc mật khẩu. Giá trị được nhập bởi người dùng vẫn không được lặp lại màn hình $ python getpass_stream.py >/dev/null Password: Sử dụng getpass mà không cần TerminalTrong Unix, getpass() luôn yêu cầu một tty mà nó có thể điều khiển thông qua termios, do đó có thể tắt tiếng vang. Điều này có nghĩa là các giá trị sẽ không được đọc từ luồng không phải đầu cuối được chuyển hướng đến đầu vào tiêu chuẩn $ echo "sekret" | python getpass_defaults.py Traceback (most recent call last): File "getpass_defaults.py", line 34, in p = getpass.getpass() File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/getpass.py", line 32, in unix_getpass old = termios.tcgetattr(fd) # a copy to save termios.error: (25, 'Inappropriate ioctl for device') Người gọi có thể phát hiện khi nào luồng đầu vào không phải là tty và sử dụng một phương pháp thay thế để đọc trong trường hợp đó Thư viện Getpass trong Python là gì?Mô-đun getpass cung cấp cách nhập mật khẩu độc lập với nền tảng trong chương trình dòng lệnh , như Ví dụ 2-25 cho thấy. getpass(prompt) in chuỗi dấu nhắc, tắt tiếng vang bàn phím và đọc mật khẩu. Nếu đối số dấu nhắc bị bỏ qua, nó sẽ in " Mật khẩu. “.
Getpass hoạt động như thế nào với Python?Hàm getpass() in lời nhắc sau đó đọc đầu vào từ người dùng cho đến khi họ nhấn phím quay lại. Đầu vào được trả lại dưới dạng một chuỗi cho người gọi. Lời nhắc mặc định, nếu người gọi không chỉ định, là “Mật khẩu. ”. Lời nhắc có thể được thay đổi thành bất kỳ giá trị nào mà chương trình của bạn cần
Tên của trăn được xây dựng trong mô-đun để đọc mật khẩu là gì?getpass — Nhập mật khẩu di động — Python 3. 11. |