Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

getpass() และ getuser() ใน Python (รหัสผ่านที่ไม่มีเสียงสะท้อน)


เมื่อคุณสร้างโปรแกรมหลามบางโปรแกรมที่ต้องการการป้องกันด้วยรหัสผ่านก่อนจึงจะสามารถทำงานได้ เราจะใช้ความช่วยเหลือจากโมดูล getpass() และ getuser() พวกเขามีฟังก์ชันหลากหลายที่สามารถใช้ในการจัดการการป้องกันด้วยรหัสผ่านและการดึงรหัสผ่าน ฯลฯ ในบทความนี้ เราจะมาดูวิธีการพิมพ์รหัสผ่านทั้งแบบมีและไม่มีเสียงสะท้อนกลับบนหน้าจอ ด้านล่างนี้คือวิธีจัดการต่างๆ

พร้อมรับคำ

รหัสด้านล่างถูกบันทึกลงในไฟล์ (logon.py) ฟังก์ชัน getpass() พิมพ์ข้อความแจ้งแล้วอ่านข้อมูลจากผู้ใช้จนกว่าจะกดย้อนกลับ

ตัวอย่าง

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 !