जब आप कुछ पायथन प्रोग्राम बनाते हैं जिन्हें चलाने से पहले पासवर्ड सुरक्षा की आवश्यकता होती है, तो हम getpass() और getuser() मॉड्यूल की मदद लेते हैं। इनमें विभिन्न कार्यक्षमताएं होती हैं जिनका उपयोग पासवर्ड सुरक्षा के साथ-साथ पासवर्ड पुनर्प्राप्ति आदि को प्रबंधित करने के लिए किया जा सकता है। इस लेख में, हम देखेंगे कि स्क्रीन पर वापस इको किए बिना और साथ में पासवर्ड कैसे टाइप किया जाए। नीचे इसे संभालने के विभिन्न तरीके दिए गए हैं।
प्रॉम्प्ट के साथ
नीचे दिया गया कोड एक फाइल (logon.py) में सेव किया गया है। getpass() फ़ंक्शन एक प्रॉम्प्ट प्रिंट करता है फिर यूजर से इनपुट पढ़ता है जब तक वे रिटर्न नहीं दबाते।
उदाहरण
import getpass
try:
pwd = getpass.getpass()
except Exception as err:
print('Error Occurred:', 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!