UNIX पासवर्ड को सत्यापित करने के लिए, हमें क्रिप्ट मॉड्यूल का उपयोग करना चाहिए। इसमें क्रिप्ट (3) रूटीन है। यह मूल रूप से संशोधित डेस एल्गोरिथम पर आधारित एकतरफा हैश फ़ंक्शन है।
क्रिप्ट मॉड्यूल का उपयोग करने के लिए, हमें इसका उपयोग करके आयात करना चाहिए।
import crypt
विधि क्रिप्ट.क्रिप्ट (शब्द, नमक)
यह विधि दो तर्क लेती है। पहला शब्द है और दूसरा नमक है। शब्द मूल रूप से यूजर पासवर्ड है, जो प्रॉम्प्ट में दिया गया है। नमक एक यादृच्छिक स्ट्रिंग है। इसका उपयोग 4096 तरीकों में से एक में डेस एल्गोरिथम को खराब करने के लिए किया जाता है। नमक में केवल अपर-केस, लोअर-केस, संख्यात्मक मान और '/', '.' वर्ण होते हैं।
यह विधि एक हैशेड पासवर्ड को स्ट्रिंग के रूप में लौटाती है।
उदाहरण कोड
import crypt, getpass, spwd
def check_pass():
username = input("Enter The Username: ")
password = spwd.getspnam(username).sp_pwdp
if password:
clr_text = getpass.getpass()
return crypt.crypt(clr_text, password) == password
else:
return 1
if check_pass():
print("The password matched")
else:
print("The password does not match")
आउटपुट
(इस प्रोग्राम को रूट लेवल परमिशन के साथ रन करें)
$ sudo python3 example.py Enter The Username: unix_user Password: The password matched