কম্পিউটার

C++ এ পাসওয়ার্ডের শক্তি পরীক্ষা করার জন্য প্রোগ্রাম


পাসওয়ার্ড অক্ষর সম্বলিত একটি স্ট্রিং ইনপুট দেওয়া, কাজটি হল পাসওয়ার্ডের শক্তি পরীক্ষা করা৷

পাসওয়ার্ডের শক্তি হল যখন আপনি বলবেন যে পাসওয়ার্ডটি সহজেই অনুমান করা যায় বা ক্র্যাক হয়। শক্তি দুর্বল, গড় এবং শক্তিশালী থেকে পরিবর্তিত হওয়া উচিত। শক্তি পরীক্ষা করতে আমাদের নিম্নলিখিত পয়েন্টগুলি পরীক্ষা করতে হবে -

  • পাসওয়ার্ড কমপক্ষে ৮ অক্ষরের হতে হবে।
  • এতে অবশ্যই ১টি ছোট হাতের বর্ণমালা থাকতে হবে।
  • এতে অবশ্যই 1টি বড় হাতের বর্ণমালা থাকতে হবে
  • এতে অবশ্যই একটি সংখ্যা থাকতে হবে
  • এতে একটি বিশেষ অক্ষর থাকতে হবে যেমন :!@#$%^&*()><,.+=-

যেমন একটি পাসওয়ার্ড "টিউটোরিয়াল পয়েন্ট" আছে যা সহজেই অনুমান করা যায় তাই আমরা বলতে পারি যে তিনি পাসওয়ার্ডটি "দুর্বল" কারণ এতে শুধুমাত্র ছোট হাতের অক্ষর রয়েছে, যেখানে পাসওয়ার্ড "Tutorialspoint@863!" বড় এবং ছোট হাতের অক্ষর, একটি সংখ্যা এবং একটি বিশেষ অক্ষর উভয়ের মতো শক্তিশালী এবং এটি 8 অক্ষরের চেয়ে দীর্ঘ, তাই একটি পাসওয়ার্ডকে শক্তিশালী করার জন্য সমস্ত শর্ত পূরণ করে৷

শক্তিশালী পাসওয়ার্ডের বৈশিষ্ট্যের অর্ধেকেরও বেশি কিছু পাসওয়ার্ড পূরণ করলে আমরা পাসওয়ার্ডটিকে পরিমিত হিসেবে বিবেচনা করব। পাসওয়ার্ড “tutorialspoint12”-এর মতো এটিকে মাঝারি হিসাবে বিবেচনা করা হবে কারণ ছোট হাতের অক্ষর, একটি সংখ্যা এবং এর দৈর্ঘ্য 8 অক্ষরের বেশি।

উদাহরণ

Input: tutoriAlspOint!@12
Output: Strength of password:-Strong
Explanation: Password has 1 lowercase, 1 uppercase, 1 special character, more than 8 characters long and a digit, hence the password is strong.
Input: tutorialspoint
Output: Strength of password:-Weak

প্রদত্ত সমস্যা সমাধানের জন্য আমরা যে পদ্ধতি ব্যবহার করব

  • পাসওয়ার্ডের জন্য একটি স্ট্রিং আউটপুট নিন।
  • পাসওয়ার্ডের শক্তি বিচার করার জন্য দায়ী সমস্ত কারণগুলির জন্য পাসওয়ার্ড পরীক্ষা করুন৷
  • ফ্যাক্টর অনুসারে পাসওয়ার্ডের শক্তি প্রিন্ট করুন।

অ্যালগরিদম

Start
   Step 1 ⇒ In function void printStrongNess(string& input)
      Declare and initialize n = input.length()
      Declare bool hasLower = false, hasUpper = false
      Declare bool hasDigit = false, specialChar = false
      Declare string normalChars = "abcdefghijklmnopqrstu"
      "vwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 "
      Loop For i = 0 and i < n and i++
         If (islower(input[i]))
            Set hasLower = true
         If (isupper(input[i]))
            Set hasUpper = true
         If (isdigit(input[i]))
            Set hasDigit = true
            Set size_t special = input.find_first_not_of(normalChars)
         If (special != string::npos)
            Set specialChar = true
      End Loop
      Print "Strength of password:-"
      If (hasLower && hasUpper && hasDigit &&
         specialChar && (n >= 8))
         Print "Strong"
      else if ((hasLower || hasUpper) &&
            specialChar && (n >= 6))
         Print "Moderate"
      else
         print "Weak"
   Step 2 ⇒ In function int main()
      Declare and initialize input = "tutorialspoint!@12"
      printStrongNess(input)
Stop

উদাহরণ

#include <iostream>
using namespace std;
void printStrongNess(string& input) {
   int n = input.length();
   // Checking lower alphabet in string
   bool hasLower = false, hasUpper = false;
   bool hasDigit = false, specialChar = false;
   string normalChars = "abcdefghijklmnopqrstu" "vwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 ";
   for (int i = 0; i < n; i++) {
      if (islower(input[i]))
         hasLower = true;
      if (isupper(input[i]))
         hasUpper = true;
      if (isdigit(input[i]))
         hasDigit = true;
      size_t special = input.find_first_not_of(normalChars);
      if (special != string::npos)
         specialChar = true;
   }
   // Strength of password
   cout << "Strength of password:-";
   if (hasLower && hasUpper && hasDigit &&
      specialChar && (n >= 8))
      cout << "Strong" << endl;
   else if ((hasLower || hasUpper) &&
      specialChar && (n >= 6))
      cout << "Moderate" << endl;
   else
      cout << "Weak" << endl;
}
int main() {
   string input = "tutorialspoint!@12";
   printStrongNess(input);
   return 0;
}

আউটপুট

Strength of password:-Moderate

  1. C++ এ ম্যাট্রিক্স নিম্ন ত্রিভুজাকার কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  2. C++ এ ইনভোলুটরি ম্যাট্রিক্স চেক করার প্রোগ্রাম

  3. C++-এ idempotent ম্যাট্রিক্স চেক করার প্রোগ্রাম

  4. C++ এ তির্যক ম্যাট্রিক্স এবং স্কেলার ম্যাট্রিক্স পরীক্ষা করার জন্য প্রোগ্রাম