প্যাসে (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 প্রদান করে। এগুলি পাসওয়ার্ডের নিরাপত্তা উন্নত করতে সাহায্য করে এবং ডেভেলপারদের জন্য ব্যবহারযোগ্য একটি কার্যকরী টুল।
Read more