IllegalSequenceRule এবং RepeatCharacterRegexRule এর ব্যবহার

Advanced Password Constraints - প্যাসে (Passay) - Java Technologies

302

Passay Java লাইব্রেরির IllegalSequenceRule এবং RepeatCharacterRegexRule দুটি গুরুত্বপূর্ণ rule যা পাসওয়ার্ড ভ্যালিডেশন এবং নিরাপত্তা বাড়াতে ব্যবহৃত হয়। এই দুটি rule ব্যবহার করে আপনি নিশ্চিত করতে পারেন যে পাসওয়ার্ডে অবাঞ্ছিত সিকোয়েন্স বা একে অপরের পরিপূরক অক্ষরের পুনরাবৃত্তি নেই, যা নিরাপত্তা ঝুঁকি সৃষ্টি করতে পারে।

1. IllegalSequenceRule:

এই rule পাসওয়ার্ডে অবাঞ্ছিত সিকোয়েন্স (যেমন "abc", "123" বা "xyz") থাকলে তা অবৈধ হিসেবে গণ্য করে। এটি সাধারণত এমন সিকোয়েন্স গুলি নিষিদ্ধ করতে ব্যবহৃত হয় যা সহজে অনুমানযোগ্য বা নিরাপত্তার জন্য দুর্বল।

ব্যবহার:

import org.passay.*;

import java.util.Arrays;

public class IllegalSequenceRuleExample {
    public static void main(String[] args) {
        // IllegalSequenceRule নিষিদ্ধ করবে "abc" বা "123" সিকোয়েন্স
        PasswordValidator validator = new PasswordValidator(Arrays.asList(
            new LengthRule(8, 16),
            new IllegalSequenceRule("abc", 3, false),   // নিষিদ্ধ সিকোয়েন্স
            new IllegalSequenceRule("123", 3, false)    // নিষিদ্ধ সিকোয়েন্স
        ));

        String password = "mypassword123";

        RuleResult result = validator.validate(new PasswordData(password));

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

প্যারামিটার ব্যাখ্যা:

  • sequence: যে সিকোয়েন্সটি নিষিদ্ধ করতে চান (যেমন "abc", "123")।
  • length: সিকোয়েন্সের দৈর্ঘ্য। উদাহরণস্বরূপ, "abc" এবং "123" এর মতো ৩ অক্ষরের সিকোয়েন্স।
  • ignoreCase: যদি true থাকে, তবে সিকোয়েন্সটি বড় এবং ছোট হাতের অক্ষরের মধ্যে পার্থক্য করবে না।

2. RepeatCharacterRegexRule:

এই rule পাসওয়ার্ডে একাধিক একই অক্ষরের পুনরাবৃত্তি থাকা নিষিদ্ধ করে। উদাহরণস্বরূপ, "aaaa", "1111" ইত্যাদি ধরনের পুনরাবৃত্তি অক্ষর পরবর্তী নিরাপত্তা ঝুঁকি সৃষ্টি করতে পারে, সেগুলি এই rule দ্বারা নিষিদ্ধ করা হয়।

ব্যবহার:

import org.passay.*;

import java.util.Arrays;

public class RepeatCharacterRegexRuleExample {
    public static void main(String[] args) {
        // RepeatCharacterRegexRule নিষিদ্ধ করবে একাধিক পুনরাবৃত্তি অক্ষর
        PasswordValidator validator = new PasswordValidator(Arrays.asList(
            new LengthRule(8, 16),
            new RepeatCharacterRegexRule(3)  // একই অক্ষরের ৩টি বা তার বেশি পুনরাবৃত্তি নিষিদ্ধ
        ));

        String password = "myaaaa1234"; // পুনরাবৃত্তি অক্ষর আছে

        RuleResult result = validator.validate(new PasswordData(password));

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

প্যারামিটার ব্যাখ্যা:

  • maxRepeatCount: পুনরাবৃত্তি অক্ষরের সর্বাধিক সংখ্যা। উদাহরণস্বরূপ, 3 হলে একই অক্ষরের তিনটি বা তার বেশি পুনরাবৃত্তি পাসওয়ার্ডে থাকতে পারবে না।

উপসংহার:

  • IllegalSequenceRule পাসওয়ার্ডে প্রেডিক্টেবল সিকোয়েন্স (যেমন "abc" বা "123") এড়াতে সাহায্য করে।
  • RepeatCharacterRegexRule একাধিক পুনরাবৃত্তি অক্ষরের ব্যবহার সীমিত করে, যা নিরাপত্তা দুর্বলতা সৃষ্টি করতে পারে।

এই দুটি rule ব্যবহারের মাধ্যমে আপনি পাসওয়ার্ডের নিরাপত্তা আরও দৃঢ় করতে পারেন এবং পাসওয়ার্ডের দুর্বলতার জন্য সাধারণ কিছু প্যাটার্ন বা পুনরাবৃত্তি অক্ষর গুলি এড়াতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...