কম্পিউটার টিউটোরিয়াল

পাইথন ফাংশন ইউনিক্স পাসওয়ার্ড চেক করার জন্য


ইউনিক্স পাসওয়ার্ড ভেরিফাই করতে হলে, আমাদের crypt মডিউল ব্যবহার করতে হবে। এতে crypt(3) রুটিন রয়েছে। এটি মূলত মডিফাইড DES অ্যালগরিদমের ওপর ভিত্তি করে একটি একমুখী হ্যাশ ফাংশন।

crypt মডিউল ব্যবহার করতে হলে, আমাদের এটি ইম্পোর্ট করতে হবে।

import crypt

crypt.crypt(word, salt) মেথড

এই মেথড দুটি আর্গুমেন্ট নেয়। প্রথমটি হলো ওয়ার্ড এবং দ্বিতীয়টি হলো সল্ট। ওয়ার্ড মূলত ইউজার পাসওয়ার্ড, যা প্রম্পটে দেওয়া হয়। সল্ট একটি র‍্যান্ডম স্ট্রিং। এটি DES অ্যালগরিদমকে ৪০৯৬ ভাবেও পERTURB করতে ব্যবহৃত হয়। সল্টে শুধু আপারকেস, লোয়ারকেস, न्यूमেরিক ভ্যালু এবং '/', '.' ক্যারেক্টার থাকে।

এই মেথড একটি হ্যাশড পাসওয়ার্ড স্ট্রিং হিসেবে ফেরত দেয়।

উদাহরণ কোড

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

  1. পাইথন টкин্টার-এ ফাংশন বাইন্ডিং

  2. পাইথনে issubset() ফাংশন

  3. পাইথনে intersection() ফাংশন

  4. পাইথনে পাসওয়ার্ডের বৈধতা যাচাই করার প্রোগ্রাম