প্যাসে (Passay) লাইব্রেরি ব্যবহার করে পাসওয়ার্ড যাচাই করার সময়, আপনি ডিফল্ট পাসওয়ার্ডভ্যালিডেটর (PasswordValidator) এবং কাস্টম কনফিগারেশন ব্যবহার করতে পারেন। পাসওয়ার্ড যাচাইয়ের জন্য প্যাসে দুটি পদ্ধতি প্রদান করে: একটি ডিফল্ট কনফিগারেশন এবং অন্যটি কাস্টম কনফিগারেশন যা আপনার নির্দিষ্ট প্রয়োজন অনুসারে কাস্টমাইজ করা যায়।
ডিফল্ট পাসওয়ার্ডভ্যালিডেটর (Default PasswordValidator)
প্যাসে ডিফল্ট পাসওয়ার্ডভ্যালিডেটর সরবরাহ করে, যা বেশ কয়েকটি প্রাথমিক পাসওয়ার্ড যাচাই নিয়ম দ্বারা কনফিগার করা থাকে। এই ডিফল্ট কনফিগারেশনটি পাসওয়ার্ডের জন্য প্রাথমিক নিরাপত্তা ব্যবস্থা নিশ্চিত করতে সাহায্য করে, যেমন দৈর্ঘ্য, বড় হাতের অক্ষর, ছোট হাতের অক্ষর, এবং সংখ্যা।
ডিফল্ট পাসওয়ার্ডভ্যালিডেটর কনফিগার করার উদাহরণ:
import org.passay.*;
import java.util.Arrays;
public class DefaultPasswordValidatorExample {
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) // কমপক্ষে একটি বিশেষ অক্ষর
)
);
// পাসওয়ার্ড যাচাই
RuleResult result = validator.validate(new PasswordData("Passw0rd!"));
if (result.isValid()) {
System.out.println("পাসওয়ার্ড বৈধ।");
} else {
System.out.println("পাসওয়ার্ড অকার্যকর।");
}
}
}
এই উদাহরণে, ডিফল্ট পাসওয়ার্ডভ্যালিডেটর একটি সাধারণ পাসওয়ার্ড যাচাই নিয়ম সেট করে, যার মধ্যে পাসওয়ার্ডের দৈর্ঘ্য, ক্যাপিটাল লেটার, ছোট হাতের অক্ষর, এবং সংখ্যা অন্তর্ভুক্ত রয়েছে।
কাস্টম পাসওয়ার্ডভ্যালিডেটর (Custom PasswordValidator)
আপনি যদি ডিফল্ট পাসওয়ার্ড পলিসি থেকে আলাদা কিছু কনফিগার করতে চান, তবে কাস্টম পাসওয়ার্ডভ্যালিডেটর তৈরি করতে পারেন। এতে আপনি আপনার নির্দিষ্ট চাহিদা অনুযায়ী নতুন পাসওয়ার্ড যাচাই নিয়ম সংযোজন বা পরিবর্তন করতে পারবেন।
কাস্টম পাসওয়ার্ডভ্যালিডেটর কনফিগার করার উদাহরণ:
import org.passay.*;
import java.util.Arrays;
public class CustomPasswordValidatorExample {
public static void main(String[] args) {
// কাস্টম পাসওয়ার্ড যাচাইয়ের জন্য পাসওয়ার্ডভ্যালিডেটর তৈরি
PasswordValidator validator = new PasswordValidator(
Arrays.asList(
new LengthRule(10, 30), // পাসওয়ার্ডের দৈর্ঘ্য ১০ থেকে ৩০ অক্ষরের মধ্যে হবে
new CharacterRule(EnglishCharacterData.UpperCase, 2), // কমপক্ষে দুটি বড় হাতের অক্ষর
new CharacterRule(EnglishCharacterData.LowerCase, 2), // কমপক্ষে দুটি ছোট হাতের অক্ষর
new DigitRule(2), // কমপক্ষে দুটি সংখ্যা
new SpecialCharacterRule(1), // কমপক্ষে একটি বিশেষ চিহ্ন
new WhitespaceRule() // পাসওয়ার্ডে কোনো সাদা স্থান থাকতে পারবে না
)
);
// কাস্টম পাসওয়ার্ড যাচাই
RuleResult result = validator.validate(new PasswordData("MyP@ssw0rd123"));
if (result.isValid()) {
System.out.println("পাসওয়ার্ড বৈধ।");
} else {
System.out.println("পাসওয়ার্ড অকার্যকর।");
}
}
}
এই উদাহরণে, একটি কাস্টম পাসওয়ার্ডভ্যালিডেটর তৈরি করা হয়েছে, যা পাসওয়ার্ডের দৈর্ঘ্য, বড় হাতের অক্ষর, ছোট হাতের অক্ষর, সংখ্যা, বিশেষ চিহ্ন এবং সাদা স্থান যাচাই করে।
ডিফল্ট এবং কাস্টম পাসওয়ার্ডভ্যালিডেটরের মধ্যে পার্থক্য
ডিফল্ট পাসওয়ার্ডভ্যালিডেটর সাধারণত প্রাথমিক নিরাপত্তা স্তর প্রদান করে, তবে কাস্টম পাসওয়ার্ডভ্যালিডেটর আপনাকে আপনার অ্যাপ্লিকেশনের নির্দিষ্ট চাহিদা অনুযায়ী আরও বিস্তৃত এবং শক্তিশালী নিয়ম সেট করতে সহায়তা করে। কাস্টম পাসওয়ার্ডভ্যালিডেটরের মাধ্যমে আপনি অধিক নিয়ন্ত্রণ পেতে পারেন যেমন পাসওয়ার্ডের দৈর্ঘ্য বৃদ্ধি, নির্দিষ্ট ক্যারেক্টারগুলির সীমাবদ্ধতা এবং সাদা স্থান নিয়ন্ত্রণ করা।
উপসংহার
প্যাসে (Passay) লাইব্রেরি Java অ্যাপ্লিকেশনে পাসওয়ার্ড যাচাইকরণের জন্য শক্তিশালী এবং নমনীয় সমাধান প্রদান করে। আপনি যদি ডিফল্ট পাসওয়ার্ডভ্যালিডেটর ব্যবহার করতে চান তবে এটি সাধারণ নিয়মাবলী অনুসরণ করে, আর যদি আপনার নির্দিষ্ট চাহিদা থাকে তবে কাস্টম পাসওয়ার্ডভ্যালিডেটর কনফিগার করতে পারবেন যা আরও গভীর নিয়ন্ত্রণ এবং নিরাপত্তা প্রস্তাব করে।
Read more