ইউনিক্স পাসওয়ার্ড যাচাই করতে, আমাদের ক্রিপ্ট মডিউল ব্যবহার করা উচিত। এটির ক্রিপ্ট(3) রুটিন রয়েছে। এটি মূলত পরিবর্তিত ডিইএস অ্যালগরিদমের উপর ভিত্তি করে একমুখী হ্যাশ ফাংশন।
ক্রিপ্ট মডিউল ব্যবহার করতে, আমাদের এটি ব্যবহার করে আমদানি করা উচিত।
import crypt
পদ্ধতি crypt.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