CharacterData এবং CharacterRules ব্যবহার করে Secure Password তৈরি করা

Passay এর PasswordGenerator - প্যাসে (Passay) - Java Technologies

389

Passay-এর CharacterData এবং CharacterRules ব্যবহার করে Secure Password তৈরি করতে পারবেন যা বিভিন্ন নিরাপত্তা নিয়ম মেনে চলে, যেমন বড় হাতের অক্ষর, ছোট হাতের অক্ষর, সংখ্যা, এবং বিশেষ চিহ্নের উপস্থিতি।

১. CharacterData:

CharacterData একটি মৌলিক ডেটা ধারণকারী ইন্টারফেস যা পাসওয়ার্ডে প্রয়োজনীয় অক্ষরের ধরনকে নির্ধারণ করে, যেমন:

  • বড় হাতের অক্ষর (uppercase)
  • ছোট হাতের অক্ষর (lowercase)
  • সংখ্যা (digits)
  • বিশেষ চিহ্ন (special characters)

২. CharacterRules:

CharacterRules পাসওয়ার্ডে নির্দিষ্ট ধরনের অক্ষরের উপস্থিতি নিশ্চিত করতে ব্যবহৃত হয়।

উদাহরণ: Secure Password তৈরি

import org.passay.*;

import java.util.Arrays;

public class SecurePasswordExample {
    public static void main(String[] args) {
        // CharacterData তৈরি করে বিভিন্ন ধরনের অক্ষর ঠিক করা
        CharacterData lowerCase = new CharacterDataLowercase();  // ছোট হাতের অক্ষর
        CharacterData upperCase = new CharacterDataUppercase();  // বড় হাতের অক্ষর
        CharacterData digit = new CharacterDataDigits();         // সংখ্যা
        CharacterData specialChar = new CharacterDataSpecial();  // বিশেষ অক্ষর

        // পাসওয়ার্ডের জন্য রুল তৈরি
        CharacterRule lowerCaseRule = new CharacterRule(lowerCase);  // ছোট হাতের অক্ষরের জন্য রুল
        CharacterRule upperCaseRule = new CharacterRule(upperCase);  // বড় হাতের অক্ষরের জন্য রুল
        CharacterRule digitRule = new CharacterRule(digit);          // সংখ্যা রুল
        CharacterRule specialCharRule = new CharacterRule(specialChar); // বিশেষ চিহ্ন রুল

        // পাসওয়ার্ড ভ্যালিডেটর তৈরি
        PasswordValidator validator = new PasswordValidator(Arrays.asList(
            new LengthRule(12, 16),   // পাসওয়ার্ডের দৈর্ঘ্য ১২-১৬ অক্ষর হতে হবে
            lowerCaseRule,            // ছোট হাতের অক্ষর থাকতে হবে
            upperCaseRule,            // বড় হাতের অক্ষর থাকতে হবে
            digitRule,                // অন্তত একটি সংখ্যা থাকতে হবে
            specialCharRule           // অন্তত একটি বিশেষ চিহ্ন থাকতে হবে
        ));

        // টেস্ট পাসওয়ার্ড
        String password = "Secure@1234";

        // পাসওয়ার্ড যাচাই
        RuleResult result = validator.validate(new PasswordData(password));

        if (result.isValid()) {
            System.out.println("পাসওয়ার্ড বৈধ!");
        } else {
            System.out.println("পাসওয়ার্ড অবৈধ। কারণ:");
            validator.getMessages(result).forEach(System.out::println);
        }
    }
}

কোড ব্যাখ্যা:

  1. CharacterData Instances:
    • CharacterDataLowercase: ছোট হাতের অক্ষর (a-z) এর জন্য।
    • CharacterDataUppercase: বড় হাতের অক্ষর (A-Z) এর জন্য।
    • CharacterDataDigits: সংখ্যা (0-9) এর জন্য।
    • CharacterDataSpecial: বিশেষ চিহ্ন (যেমন: !, @, #) এর জন্য।
  2. CharacterRule: প্রতিটি ধরনের অক্ষরের জন্য আলাদা রুল তৈরি করা হয়েছে, যেমন:
    • lowerCaseRule: ছোট হাতের অক্ষর বাধ্যতামূলক।
    • upperCaseRule: বড় হাতের অক্ষর বাধ্যতামূলক।
    • digitRule: অন্তত একটি সংখ্যা বাধ্যতামূলক।
    • specialCharRule: অন্তত একটি বিশেষ চিহ্ন বাধ্যতামূলক।
  3. PasswordValidator: এখানে PasswordValidator একাধিক রুল ব্যবহার করে পাসওয়ার্ড যাচাই করে। এর মধ্যে LengthRule যোগ করা হয়েছে, যা পাসওয়ার্ডের দৈর্ঘ্য ১২ থেকে ১৬ অক্ষর হওয়া প্রয়োজন।
  4. RuleResult: যাচাই শেষে RuleResult নিশ্চিত করে যে পাসওয়ার্ডটি নিরাপদ এবং নির্দিষ্ট নীতির সাথে সামঞ্জস্যপূর্ণ কি না। যদি না হয়, তাহলে এটি ব্যর্থ বার্তা প্রদান করবে।

ফলাফল:

এটি এমন একটি পাসওয়ার্ড তৈরি করবে যা:

  • অন্তত একটি বড় হাতের অক্ষর, ছোট হাতের অক্ষর, সংখ্যা এবং বিশেষ চিহ্ন থাকবে।
  • পাসওয়ার্ডের দৈর্ঘ্য কমপক্ষে ১২ অক্ষর হবে।

Maven Dependency:

Passay লাইব্রেরি ব্যবহার করার জন্য মেভেন ডিপেনডেন্সি:

<dependency>
    <groupId>org.passay</groupId>
    <artifactId>passay</artifactId>
    <version>1.6.0</version>
</dependency>

ব্যবহার ক্ষেত্র:

  • পাসওয়ার্ড নিরাপত্তা নীতি বাস্তবায়ন করতে ব্যবহার করা হয়, যেমন:
    • ব্যাংকিং অ্যাপ্লিকেশন
    • E-commerce ওয়েবসাইট
    • নিরাপত্তা সংক্রান্ত অন্যান্য অ্যাপ্লিকেশন

এভাবে, Passay ব্যবহার করে শক্তিশালী এবং নিরাপদ পাসওয়ার্ড তৈরি করা সম্ভব যা সুরক্ষিত অ্যাকাউন্ট ব্যবস্থাপনায় সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...