Validation Rules এবং Constraints

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

369

প্যাসে (Passay) লাইব্রেরি Java অ্যাপ্লিকেশনগুলিতে পাসওয়ার্ড যাচাই করার জন্য বিভিন্ন ধরনের ভ্যালিডেশন রুলস (Validation Rules) প্রদান করে। এই রুলগুলো পাসওয়ার্ডের নিরাপত্তা নিশ্চিত করতে এবং বিভিন্ন নিয়মের ভিত্তিতে পাসওয়ার্ডের শক্তি যাচাই করতে ব্যবহৃত হয়। এখানে আমরা প্যাসে (Passay) তে ব্যবহৃত কিছু গুরুত্বপূর্ণ ভ্যালিডেশন রুলস নিয়ে আলোচনা করব।


প্যাসে (Passay) তে ব্যবহারযোগ্য Validation Rules

LengthRule

LengthRule পাসওয়ার্ডের সর্বনিম্ন এবং সর্বোচ্চ দৈর্ঘ্য নির্ধারণ করতে ব্যবহৃত হয়। এটি একটি সাধারণ নিয়ম যা পাসওয়ার্ডের দৈর্ঘ্য সঠিক কিনা তা যাচাই করে।

new LengthRule(8, 20) // পাসওয়ার্ডের দৈর্ঘ্য কমপক্ষে 8 এবং সর্বোচ্চ 20 হবে

এখানে, পাসওয়ার্ডের দৈর্ঘ্য যদি 8 থেকে 20 চরিত্রের মধ্যে না হয়, তবে এটি একটি ভ্যালিডেশন ত্রুটি হিসেবে গণ্য হবে।

CharacterRule

CharacterRule পাসওয়ার্ডে নির্দিষ্ট ধরনের অক্ষর অন্তর্ভুক্ত করার জন্য ব্যবহৃত হয়। যেমন বড় হাতের অক্ষর, ছোট হাতের অক্ষর, সংখ্যা, বিশেষ অক্ষর ইত্যাদি।

UpperCase

new CharacterRule(EnglishCharacterData.UpperCase, 1) // কমপক্ষে একটি বড় হাতের অক্ষর থাকতে হবে

এটি নিশ্চিত করবে যে পাসওয়ার্ডে কমপক্ষে একটি বড় হাতের অক্ষর থাকবে।

LowerCase

new CharacterRule(EnglishCharacterData.LowerCase, 1) // কমপক্ষে একটি ছোট হাতের অক্ষর থাকতে হবে

এটি নিশ্চিত করবে যে পাসওয়ার্ডে কমপক্ষে একটি ছোট হাতের অক্ষর থাকবে।

DigitRule

new DigitRule(1) // কমপক্ষে একটি সংখ্যা থাকতে হবে

এটি নিশ্চিত করবে যে পাসওয়ার্ডে কমপক্ষে একটি সংখ্যা থাকবে।

SpecialCharacterRule

new SpecialCharacterRule(1) // কমপক্ষে একটি বিশেষ অক্ষর থাকতে হবে

এটি নিশ্চিত করবে যে পাসওয়ার্ডে কমপক্ষে একটি বিশেষ অক্ষর (যেমন: !, @, #) থাকবে।

WhitespaceRule

WhitespaceRule পাসওয়ার্ডে সাদা স্থান বা স্পেসের ব্যবহার নিষিদ্ধ করতে ব্যবহৃত হয়।

new WhitespaceRule() // পাসওয়ার্ডে সাদা স্থান থাকতে পারবে না

এটি নিশ্চিত করবে যে পাসওয়ার্ডে কোনো ধরনের সাদা স্থান (space) থাকবে না।

DictionaryRule

DictionaryRule ব্যবহারকারীর পাসওয়ার্ডের সাথে সাধারণ শব্দের তালিকা যাচাই করতে ব্যবহৃত হয়। এটি পাসওয়ার্ডের মধ্যে শব্দের উপস্থিতি যাচাই করতে সাহায্য করে, যেমন কমন শব্দ বা প্রেডিকটেবল পাসওয়ার্ড।

new DictionaryRule(new File("path/to/dictionary.txt")) // ডিকশনারি থেকে শব্দ যাচাই

এটি সাধারণ বা সহজ পাসওয়ার্ডের ব্যবহার এড়াতে সহায়ক।

UsernameRule

UsernameRule পাসওয়ার্ডের সাথে ব্যবহারকারীর নামের মিল চেক করতে ব্যবহৃত হয়। এটি নিশ্চিত করে যে পাসওয়ার্ডে ব্যবহারকারীর নাম থাকবে না।

new UsernameRule(new UsernameData("userName")) // পাসওয়ার্ডে ব্যবহারকারীর নাম থাকবে না

এটি পাসওয়ার্ডের নিরাপত্তা উন্নত করতে সহায়ক।


Passay এর Validation Rules কিভাবে ব্যবহার করবেন?

নিম্নলিখিত কোড উদাহরণে দেখানো হয়েছে কিভাবে প্যাসে (Passay) তে বিভিন্ন ভ্যালিডেশন রুলস ব্যবহার করা যায়:

import org.passay.*;
import java.util.Arrays;
import java.util.List;

public class PasswordValidationExample {
    public static void main(String[] args) {
        PasswordValidator validator = new PasswordValidator(
            Arrays.asList(
                new LengthRule(8, 20),
                new CharacterRule(EnglishCharacterData.UpperCase, 1),
                new CharacterRule(EnglishCharacterData.LowerCase, 1),
                new DigitRule(1),
                new SpecialCharacterRule(1),
                new WhitespaceRule()
            )
        );

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

        if (result.isValid()) {
            System.out.println("পাসওয়ার্ড বৈধ।");
        } else {
            List<String> messages = validator.getMessages(result);
            System.out.println("পাসওয়ার্ড অকার্যকর: " + String.join(", ", messages));
        }
    }
}

এই উদাহরণে, পাসওয়ার্ড যাচাইয়ের জন্য একাধিক নিয়ম প্রয়োগ করা হয়েছে। যদি পাসওয়ার্ড কোন নিয়মের সঙ্গে সঙ্গতিপূর্ণ না হয়, তবে ত্রুটির বার্তা প্রদর্শিত হবে।


সারাংশ

প্যাসে (Passay) লাইব্রেরি বিভিন্ন ধরনের ভ্যালিডেশন রুলস প্রদান করে, যা পাসওয়ার্ডের নিরাপত্তা নিশ্চিত করার জন্য অত্যন্ত গুরুত্বপূর্ণ। LengthRule, CharacterRule, SpecialCharacterRule, এবং DictionaryRule এর মতো রুলস ব্যবহার করে পাসওয়ার্ডের শক্তি পরীক্ষা করা যায়। এগুলোর মাধ্যমে সুরক্ষিত এবং শক্তিশালী পাসওয়ার্ড তৈরি করা সহজ হয়ে যায়, যা অ্যাপ্লিকেশন বা সিস্টেমের নিরাপত্তা বৃদ্ধি করতে সহায়ক।


Content added By

প্যাসে (Passay) লাইব্রেরি বিভিন্ন Validation Rules (যাচাইকরণ নিয়ম) প্রদান করে, যা পাসওয়ার্ডের নিরাপত্তা নিশ্চিত করতে সহায়ক। এই Validation Rules গুলি পাসওয়ার্ডের শক্তি এবং নির্দিষ্ট নীতিমালা অনুসরণ নিশ্চিত করে। প্রতিটি রুল পাসওয়ার্ডের বৈধতা যাচাই করে এবং একটি পাসওয়ার্ডে কিছু নির্দিষ্ট শর্ত পূরণ হচ্ছে কিনা তা পরীক্ষা করে।


Passay Validation Rules

প্যাসে বিভিন্ন ধরনের রুল প্রদান করে যা পাসওয়ার্ডের ক্ষেত্রে বিভিন্ন বৈশিষ্ট্য নিশ্চিত করে। এখানে কিছু সাধারণ Validation Rules এবং তাদের ব্যবহার বিস্তারিতভাবে আলোচনা করা হলো:

LengthRule

LengthRule রুলটি পাসওয়ার্ডের দৈর্ঘ্য যাচাই করে। এটি নিশ্চিত করে যে পাসওয়ার্ডটি কমপক্ষে একটি নির্দিষ্ট দৈর্ঘ্য এবং সর্বোচ্চ দৈর্ঘ্য ধারণ করে।

ব্যবহার:

new LengthRule(8, 20); // পাসওয়ার্ডের দৈর্ঘ্য ৮ থেকে ২০ এর মধ্যে হতে হবে

এটি পাসওয়ার্ডের দৈর্ঘ্য কমপক্ষে ৮ এবং সর্বোচ্চ ২০ হতে হবে এমন শর্ত প্রদান করে।

CharacterRule

CharacterRule রুলটি পাসওয়ার্ডে একটি নির্দিষ্ট ধরনের অক্ষর থাকতে হবে, যেমন বড় হাতের অক্ষর, ছোট হাতের অক্ষর, অথবা সংখ্যা।

ব্যবহার:

new CharacterRule(EnglishCharacterData.UpperCase, 1); // কমপক্ষে একটি বড় হাতের অক্ষর থাকতে হবে
new CharacterRule(EnglishCharacterData.LowerCase, 1); // কমপক্ষে একটি ছোট হাতের অক্ষর থাকতে হবে

এই রুল দুটি পাসওয়ার্ডে কমপক্ষে একটি বড় হাতের অক্ষর এবং একটি ছোট হাতের অক্ষর থাকতে হবে এমন শর্ত নির্ধারণ করে।

DigitRule

DigitRule রুলটি পাসওয়ার্ডে কমপক্ষে একটি সংখ্যা থাকতে হবে এমন শর্ত নির্ধারণ করে।

ব্যবহার:

new DigitRule(1); // কমপক্ষে একটি সংখ্যা থাকতে হবে

এটি পাসওয়ার্ডে এক বা একাধিক সংখ্যা থাকতে হবে এমন শর্ত নিশ্চিত করে।

SpecialCharacterRule

SpecialCharacterRule রুলটি পাসওয়ার্ডে কমপক্ষে একটি বিশেষ চরিত্র (যেমন @, #, &) থাকতে হবে এমন শর্ত প্রদান করে।

ব্যবহার:

new SpecialCharacterRule(1); // কমপক্ষে একটি বিশেষ চিহ্ন থাকতে হবে

এটি পাসওয়ার্ডে বিশেষ চিহ্নের উপস্থিতি যাচাই করে।

WhitespaceRule

WhitespaceRule রুলটি পাসওয়ার্ডে কোন ধরনের হোয়াইটস্পেস (স্পেস, ট্যাব, নিউ লাইন ইত্যাদি) থাকতে পারে না তা নিশ্চিত করে।

ব্যবহার:

new WhitespaceRule(); // পাসওয়ার্ডে কোনো স্পেস থাকতে পারবে না

এটি পাসওয়ার্ডে হোয়াইটস্পেস থাকা নিষিদ্ধ করে।

UsernameRule

UsernameRule রুলটি পাসওয়ার্ডে ইউজারনেমের উপস্থিতি যাচাই করে। এটি পাসওয়ার্ডে ইউজারনেম থাকা কপি করা এবং অনুমোদিত নয় এমন একটি শর্ত হিসেবে কাজ করে।

ব্যবহার:

new UsernameRule(new UsernameListRule()); // ইউজারনেম পাসওয়ার্ডে উপস্থিত হবে না

এটি ইউজারনেমের উপস্থিতি রোধ করে পাসওয়ার্ডের মধ্যে।


Passay তে Validation Rule এর একসাথে ব্যবহার

প্যাসে (Passay) লাইব্রেরি একাধিক রুল একত্রিত করে পাসওয়ার্ড যাচাইয়ের জন্য বিভিন্ন শর্ত প্রয়োগ করা যায়। নিচের উদাহরণটি দেখুন যেখানে একাধিক রুল ব্যবহার করা হয়েছে:

import org.passay.*;

import java.util.Arrays;

public class PasswordValidatorExample {
    public static void main(String[] args) {
        PasswordValidator validator = new PasswordValidator(
            Arrays.asList(
                new LengthRule(8, 20),
                new CharacterRule(EnglishCharacterData.UpperCase, 1),
                new CharacterRule(EnglishCharacterData.LowerCase, 1),
                new DigitRule(1),
                new SpecialCharacterRule(1),
                new WhitespaceRule()
            )
        );

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

        if (result.isValid()) {
            System.out.println("পাসওয়ার্ড বৈধ।");
        } else {
            List<String> messages = validator.getMessages(result);
            System.out.println("পাসওয়ার্ড অকার্যকর: " + String.join(", ", messages));
        }
    }
}

এই উদাহরণে, আমরা একাধিক রুল যুক্ত করেছি, যেমন দৈর্ঘ্য, অক্ষর, সংখ্যা, বিশেষ চিহ্ন, এবং হোয়াইটস্পেস নিয়ন্ত্রণ।


সারাংশ

প্যাসে (Passay) লাইব্রেরি Java অ্যাপ্লিকেশনে শক্তিশালী পাসওয়ার্ড যাচাইকরণ নিশ্চিত করতে বিভিন্ন Validation Rules প্রদান করে। এগুলি পাসওয়ার্ডের নিরাপত্তা উন্নত করতে সাহায্য করে এবং ডেভেলপারদের জন্য ব্যবহারযোগ্য একটি কার্যকরী টুল।

Content added By

Passay লাইব্রেরিতে বেশ কিছু শক্তিশালী রুল (Rule) রয়েছে যা পাসওয়ার্ডের নিরাপত্তা নিশ্চিত করতে ব্যবহৃত হয়। এই রুলগুলো নির্দিষ্ট শর্ত অনুযায়ী পাসওয়ার্ড যাচাই করে, এবং নিশ্চিত করে যে পাসওয়ার্ডটি নিরাপদ এবং শক্তিশালী। এই রুলগুলোর মধ্যে LengthRule, CharacterRule, UppercaseCharacterRule, এবং LowercaseCharacterRule অন্যতম।


LengthRule

LengthRule পাসওয়ার্ডের দৈর্ঘ্য যাচাই করতে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট দৈর্ঘ্য সীমা সেট করতে পারে, যা পাসওয়ার্ডের জন্য সর্বনিম্ন এবং সর্বোচ্চ দৈর্ঘ্য নির্ধারণ করে। এটি নিশ্চিত করে যে পাসওয়ার্ডের দৈর্ঘ্য ন্যূনতম একটি নির্দিষ্ট মান পূরণ করবে।

উদাহরণ:

// LengthRule এর ব্যবহার
LengthRule lengthRule = new LengthRule(8, 20);

এই রুলটি পাসওয়ার্ডের দৈর্ঘ্য ৮ থেকে ২০ ক্যারেক্টার এর মধ্যে থাকতে হবে।


CharacterRule

CharacterRule পাসওয়ার্ডের মধ্যে নির্দিষ্ট ধরনের অক্ষরের উপস্থিতি নিশ্চিত করতে ব্যবহৃত হয়। এটি পাসওয়ার্ডে বিশেষ ধরনের অক্ষর যেমন সংখ্যা, বড় হাতের অক্ষর, ছোট হাতের অক্ষর, বা বিশেষ চিহ্নের উপস্থিতি যাচাই করতে পারে।

উদাহরণ:

// CharacterRule এর ব্যবহার
CharacterRule upperCaseRule = new CharacterRule(EnglishCharacterData.UpperCase, 1);

এই রুলটি নিশ্চিত করে যে পাসওয়ার্ডে কমপক্ষে একটি বড় হাতের অক্ষর থাকবে।


UppercaseCharacterRule

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

উদাহরণ:

// UppercaseCharacterRule এর ব্যবহার
UppercaseCharacterRule upperCaseCharacterRule = new UppercaseCharacterRule(1);

এই রুলটি পাসওয়ার্ডে কমপক্ষে একটি বড় হাতের অক্ষরের উপস্থিতি নিশ্চিত করে।


LowercaseCharacterRule

LowercaseCharacterRule পাসওয়ার্ডে কমপক্ষে একটি ছোট হাতের অক্ষর থাকতে হবে, এমন নিয়ম। এটি পাসওয়ার্ডের মধ্যে ছোট হাতের অক্ষরের উপস্থিতি যাচাই করে।

উদাহরণ:

// LowercaseCharacterRule এর ব্যবহার
LowercaseCharacterRule lowerCaseCharacterRule = new LowercaseCharacterRule(1);

এই রুলটি পাসওয়ার্ডে কমপক্ষে একটি ছোট হাতের অক্ষরের উপস্থিতি নিশ্চিত করে।


সারাংশ

Passay লাইব্রেরিতে LengthRule, CharacterRule, UppercaseCharacterRule, এবং LowercaseCharacterRule এর মাধ্যমে পাসওয়ার্ডের নিরাপত্তা নিশ্চিত করা যায়। এগুলো পাসওয়ার্ডের দৈর্ঘ্য, অক্ষরের ধরন এবং পাসওয়ার্ডের শক্তিশালীকরণ নিশ্চিত করতে সাহায্য করে, যার ফলে এটি ব্যবহারকারীদের সুরক্ষিত পাসওয়ার্ড তৈরি এবং যাচাই করতে সহায়ক।


Content added By

প্যাসে (Passay) লাইব্রেরি পাসওয়ার্ড যাচাই করতে বিভিন্ন ধরনের রুল বা নিয়ম প্রদান করে। এর মধ্যে DigitCharacterRule, SpecialCharacterRule, এবং WhitespaceRule হল কিছু বিশেষ রুল, যা পাসওয়ার্ডের নিরাপত্তা এবং শক্তি উন্নত করতে সহায়ক। এই রুলগুলোর মাধ্যমে পাসওয়ার্ডের গঠন নিয়ন্ত্রিত হয় এবং আরও শক্তিশালী হয়।


DigitCharacterRule এর প্রয়োগ

DigitCharacterRule পাসওয়ার্ডে কমপক্ষে একটি ডিজিট (0-9) থাকতে হবে তা নিশ্চিত করে। এটি পাসওয়ার্ডের নিরাপত্তা বাড়ায়, কারণ এটি পাসওয়ার্ডে সংখ্যার উপস্থিতি নিশ্চিত করে, যা প্রায়ই দুর্বল পাসওয়ার্ড থেকে প্রতিরোধ করতে সাহায্য করে।

উদাহরণ:

import org.passay.*;

public class PasswordValidatorExample {
    public static void main(String[] args) {
        PasswordValidator validator = new PasswordValidator(
            Arrays.asList(
                new DigitCharacterRule(1) // কমপক্ষে একটি ডিজিট থাকতে হবে
            )
        );

        RuleResult result = validator.validate(new PasswordData("Password123"));
        
        if (result.isValid()) {
            System.out.println("পাসওয়ার্ড বৈধ।");
        } else {
            System.out.println("পাসওয়ার্ড অকার্যকর।");
        }
    }
}

এই কোডে, পাসওয়ার্ড যাচাই করা হচ্ছে এবং নিশ্চিত করা হচ্ছে যে, এতে কমপক্ষে একটি সংখ্যা (ডিজিট) থাকতে হবে।


SpecialCharacterRule এর প্রয়োগ

SpecialCharacterRule পাসওয়ার্ডে কমপক্ষে একটি বিশেষ চিহ্ন (যেমন @, #, $, %, ইত্যাদি) থাকতে হবে তা নিশ্চিত করে। এটি পাসওয়ার্ডের শক্তি বাড়ায় এবং সহজে অনুমানযোগ্য পাসওয়ার্ড তৈরি হওয়া রোধ করে।

উদাহরণ:

import org.passay.*;

public class PasswordValidatorExample {
    public static void main(String[] args) {
        PasswordValidator validator = new PasswordValidator(
            Arrays.asList(
                new SpecialCharacterRule(1) // কমপক্ষে একটি বিশেষ চিহ্ন থাকতে হবে
            )
        );

        RuleResult result = validator.validate(new PasswordData("Password!"));
        
        if (result.isValid()) {
            System.out.println("পাসওয়ার্ড বৈধ।");
        } else {
            System.out.println("পাসওয়ার্ড অকার্যকর।");
        }
    }
}

এখানে, পাসওয়ার্ডে একটি বিশেষ চিহ্ন থাকতে হবে এবং সেটি যাচাই করা হচ্ছে।


WhitespaceRule এর প্রয়োগ

WhitespaceRule পাসওয়ার্ডের মধ্যে কোনো ধরনের সাদা স্থান (whitespace) থাকতে দেয় না। এটি পাসওয়ার্ডের নির্দিষ্ট স্থানে কোনো অতিরিক্ত সাদা স্থান ব্যবহার রোধ করে, যাতে পাসওয়ার্ড সঠিকভাবে যাচাই করা যায়।

উদাহরণ:

import org.passay.*;

public class PasswordValidatorExample {
    public static void main(String[] args) {
        PasswordValidator validator = new PasswordValidator(
            Arrays.asList(
                new WhitespaceRule() // পাসওয়ার্ডে কোনো সাদা স্থান থাকতে পারবে না
            )
        );

        RuleResult result = validator.validate(new PasswordData("Password 123"));
        
        if (result.isValid()) {
            System.out.println("পাসওয়ার্ড বৈধ।");
        } else {
            System.out.println("পাসওয়ার্ড অকার্যকর।");
        }
    }
}

এখানে, পাসওয়ার্ডে সাদা স্থান (whitespace) থাকলে সেটি অকার্যকর হিসেবে চিহ্নিত হবে।


সারাংশ

প্যাসে (Passay) লাইব্রেরির DigitCharacterRule, SpecialCharacterRule, এবং WhitespaceRule পাসওয়ার্ড নিরাপত্তা বৃদ্ধি করতে এবং নিশ্চিত করতে গুরুত্বপূর্ণ ভূমিকা পালন করে। DigitCharacterRule পাসওয়ার্ডে একটি সংখ্যা থাকতে বাধ্য করে, SpecialCharacterRule পাসওয়ার্ডে বিশেষ চিহ্ন থাকতে বাধ্য করে, এবং WhitespaceRule পাসওয়ার্ডে সাদা স্থান ব্যবহার বন্ধ করে। এগুলোর ব্যবহার পাসওয়ার্ডের শক্তি এবং নিরাপত্তা নিশ্চিত করতে সহায়ক।


Content added By

প্যাসে (Passay) লাইব্রেরি ব্যবহার করে পাসওয়ার্ডের জন্য বিভিন্ন ধরনের যাচাইকরণ নিয়ম (Validation Rules) কনফিগার করা যায়। এতে ব্যবহারকারীরা তাদের নিরাপত্তা নীতিমালা অনুযায়ী পাসওয়ার্ড যাচাইয়ের নিয়ম সেট করতে পারেন, যেমন পাসওয়ার্ডের দৈর্ঘ্য, অক্ষরের ধরনের নির্বাচন, এবং বিশেষ চিহ্নের উপস্থিতি। এখানে একটি উদাহরণ সহ বিভিন্ন Validation Rules কনফিগার করার পদ্ধতি আলোচনা করা হবে।


Validation Rules কনফিগার করার জন্য ধাপসমূহ

১. পাসওয়ার্ডের দৈর্ঘ্য নিয়ম (Length Rule)

এটি পাসওয়ার্ডের মিনিমাম এবং ম্যাক্সিমাম দৈর্ঘ্য নির্ধারণ করে। উদাহরণস্বরূপ, পাসওয়ার্ডের দৈর্ঘ্য কমপক্ষে ৮ এবং সর্বাধিক ২০ অক্ষরের মধ্যে হতে হবে।

২. বড় হাতের অক্ষর (Uppercase Rule)

এটি পাসওয়ার্ডে কমপক্ষে একটি বড় হাতের অক্ষরের উপস্থিতি নিশ্চিত করে। উদাহরণস্বরূপ, পাসওয়ার্ডে অন্তত একটি বড় হাতের অক্ষর থাকতে হবে।

৩. ছোট হাতের অক্ষর (Lowercase Rule)

এটি পাসওয়ার্ডে কমপক্ষে একটি ছোট হাতের অক্ষরের উপস্থিতি নিশ্চিত করে।

৪. সংখ্যা (Digit Rule)

এটি পাসওয়ার্ডে কমপক্ষে একটি ডিজিট (সংখ্যা) থাকতে হবে।

৫. বিশেষ চিহ্ন (Special Character Rule)

এটি পাসওয়ার্ডে কমপক্ষে একটি বিশেষ চিহ্ন থাকতে হবে, যেমন !, @, # ইত্যাদি।


উদাহরণ সহ Passay Validation Rules কনফিগার করা

এখানে একটি কোড উদাহরণ দেয়া হলো যা বিভিন্ন পাসওয়ার্ড যাচাইকরণ নিয়ম (Validation Rules) কনফিগার করে:

import org.passay.*;

import java.util.Arrays;
import java.util.List;

public class PasswordValidatorExample {
    public static void main(String[] args) {
        // পাসওয়ার্ড যাচাইকরণের জন্য প্যাসে (Passay) Validator তৈরি করা
        PasswordValidator validator = new PasswordValidator(
            Arrays.asList(
                new LengthRule(8, 20), // পাসওয়ার্ডের দৈর্ঘ্য ৮ থেকে ২০ চরিত্রের মধ্যে হবে
                new CharacterRule(EnglishCharacterData.UpperCase, 1), // কমপক্ষে একটি বড় হাতের অক্ষর থাকতে হবে
                new CharacterRule(EnglishCharacterData.LowerCase, 1), // কমপক্ষে একটি ছোট হাতের অক্ষর থাকতে হবে
                new DigitRule(1), // কমপক্ষে একটি সংখ্যা থাকতে হবে
                new SpecialCharacterRule(1), // কমপক্ষে একটি বিশেষ অক্ষর থাকতে হবে
                new WhitespaceRule() // পাসওয়ার্ডে কোনও শূন্যস্থান (Space) থাকতে পারবে না
            )
        );

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

        if (result.isValid()) {
            System.out.println("পাসওয়ার্ড বৈধ।");
        } else {
            List<String> messages = validator.getMessages(result);
            System.out.println("পাসওয়ার্ড অকার্যকর: " + String.join(", ", messages));
        }
    }
}

কোড বিশ্লেষণ:

  • LengthRule(8, 20): পাসওয়ার্ডের দৈর্ঘ্য ৮ থেকে ২০ অক্ষরের মধ্যে হতে হবে।
  • CharacterRule(EnglishCharacterData.UpperCase, 1): পাসওয়ার্ডে কমপক্ষে একটি বড় হাতের অক্ষর থাকতে হবে।
  • CharacterRule(EnglishCharacterData.LowerCase, 1): পাসওয়ার্ডে কমপক্ষে একটি ছোট হাতের অক্ষর থাকতে হবে।
  • DigitRule(1): পাসওয়ার্ডে কমপক্ষে একটি সংখ্যা থাকতে হবে।
  • SpecialCharacterRule(1): পাসওয়ার্ডে কমপক্ষে একটি বিশেষ চিহ্ন থাকতে হবে।
  • WhitespaceRule(): পাসওয়ার্ডে কোন শূন্যস্থান (Space) থাকতে পারবে না।

এই উদাহরণে, পাসওয়ার্ড "Passw0rd!" যাচাই করা হবে এবং যদি এটি সমস্ত নিয়ম পূরণ করে, তাহলে এটি বৈধ হিসেবে গণ্য হবে। অন্যথায়, নির্ধারিত নিয়মগুলির সাথে সম্পর্কিত ত্রুটি বার্তা প্রদর্শিত হবে।


সারাংশ

প্যাসে (Passay) লাইব্রেরি ব্যবহার করে পাসওয়ার্ড যাচাইকরণের জন্য বিভিন্ন ধরনের Validation Rules কনফিগার করা যায়, যা নিরাপদ পাসওয়ার্ড নিশ্চিত করার জন্য কার্যকরী। এর মধ্যে পাসওয়ার্ডের দৈর্ঘ্য, অক্ষরের ধরন, সংখ্যা এবং বিশেষ চিহ্নের উপস্থিতি নির্ধারণ করা হয়, যা পাসওয়ার্ড নিরাপত্তা বাড়াতে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...