Passay Java Technologies-এর Dictionary এবং Blacklist Validation ব্যবহারের মাধ্যমে আপনি পাসওয়ার্ড যাচাই করতে পারেন এবং বিশেষ করে নিষিদ্ধ বা সাধারণ পাসওয়ার্ডগুলি ব্লক করতে পারেন। এটি বিশেষত নিরাপত্তা প্রয়োগে গুরুত্বপূর্ণ, যেখানে কিছু শব্দ বা পাসওয়ার্ডগুলি সাধারণভাবে অনুমোদিত হয় না (যেমন "password", "123456", বা ব্যবহারকারীর নাম)।
নিচে Dictionary এবং Blacklist Validation ব্যবহারের উদাহরণ দেওয়া হয়েছে:
উদাহরণ ১: Blacklist Validation (নিষিদ্ধ পাসওয়ার্ডের তালিকা)
Blacklist validation ব্যবহৃত হয় যাতে কিছু নির্দিষ্ট পাসওয়ার্ড নিষিদ্ধ করা যায়, যেমন সাধারণ পাসওয়ার্ড বা নিরাপত্তার জন্য ঝুঁকিপূর্ণ পাসওয়ার্ড।
import org.passay.*;
import java.util.Arrays;
public class PasswordBlacklistExample {
public static void main(String[] args) {
// ব্ল্যাকলিস্ট (নিষিদ্ধ পাসওয়ার্ড)
String[] blacklist = {"password", "123456", "qwerty", "letmein"};
// ব্ল্যাকলিস্ট রুল তৈরি
BlacklistRule blacklistRule = new BlacklistRule(new WordListDictionary(Arrays.asList(blacklist)));
PasswordValidator validator = new PasswordValidator(Arrays.asList(
new LengthRule(8, 16), // পাসওয়ার্ডের দৈর্ঘ্য 8-16 অক্ষর
new UppercaseCharacterRule(1), // অন্তত একটি বড় হাতের অক্ষর
new DigitCharacterRule(1), // অন্তত একটি সংখ্যা
new SpecialCharacterRule(1), // অন্তত একটি স্পেশাল ক্যারেক্টার
new WhitespaceRule(), // পাসওয়ার্ডে ফাঁকা জায়গা নিষিদ্ধ
blacklistRule // ব্ল্যাকলিস্ট যাচাই
));
String password = "123456"; // একটি নিষিদ্ধ পাসওয়ার্ড
RuleResult result = validator.validate(new PasswordData(password));
if (result.isValid()) {
System.out.println("পাসওয়ার্ড বৈধ!");
} else {
System.out.println("পাসওয়ার্ড অবৈধ। কারণ:");
validator.getMessages(result).forEach(System.out::println);
}
}
}
এখানে, "123456" পাসওয়ার্ড ব্ল্যাকলিস্টে রয়েছে, তাই এটি অবৈধ হিসেবে চিহ্নিত হবে।
উদাহরণ ২: Dictionary Validation (পাসওয়ার্ডে শব্দের তালিকা যাচাই)
Dictionary validation ব্যবহার করে আপনি পাসওয়ার্ডে সহজ শব্দ বা অভিধানের শব্দগুলি থাকা থেকে বিরত থাকতে পারেন, যা দুর্বল পাসওয়ার্ডের চিহ্ন হতে পারে।
import org.passay.*;
import java.util.Arrays;
public class PasswordDictionaryExample {
public static void main(String[] args) {
// ডিকশনারি (অভিধান) তৈরি
String[] dictionary = {"password", "admin", "welcome", "qwerty"};
// ডিকশনারি রুল তৈরি
DictionaryRule dictionaryRule = new DictionaryRule(new WordListDictionary(Arrays.asList(dictionary)));
PasswordValidator validator = new PasswordValidator(Arrays.asList(
new LengthRule(8, 16), // পাসওয়ার্ডের দৈর্ঘ্য 8-16 অক্ষর
new UppercaseCharacterRule(1), // অন্তত একটি বড় হাতের অক্ষর
new DigitCharacterRule(1), // অন্তত একটি সংখ্যা
new SpecialCharacterRule(1), // অন্তত একটি স্পেশাল ক্যারেক্টার
new WhitespaceRule(), // পাসওয়ার্ডে ফাঁকা জায়গা নিষিদ্ধ
dictionaryRule // ডিকশনারি যাচাই
));
String password = "admin123"; // পাসওয়ার্ডে একটি ডিকশনারি শব্দ রয়েছে
RuleResult result = validator.validate(new PasswordData(password));
if (result.isValid()) {
System.out.println("পাসওয়ার্ড বৈধ!");
} else {
System.out.println("পাসওয়ার্ড অবৈধ। কারণ:");
validator.getMessages(result).forEach(System.out::println);
}
}
}
এখানে, "admin123" পাসওয়ার্ডে "admin" শব্দটি ডিকশনারিতে রয়েছে, তাই এটি অবৈধ হিসেবে চিহ্নিত হবে।
Maven Dependency:
<dependency>
<groupId>org.passay</groupId>
<artifactId>passay</artifactId>
<version>1.6.0</version>
</dependency>
উপসংহার:
- Blacklist Rule: এটি নিষিদ্ধ বা ঝুঁকিপূর্ণ পাসওয়ার্ডের তালিকা যাচাই করে।
- Dictionary Rule: এটি অভিধানের সহজ শব্দ বা সাধারণ পাসওয়ার্ডগুলিকে আটকায়।
এইভাবে, Passay ব্যবহার করে আপনি পাসওয়ার্ডের নিরাপত্তা বাড়াতে পারবেন এবং সেগুলি দুর্বল বা অনুমোদিত শব্দগুলির ভিত্তিতে অবৈধ হিসেবে চিহ্নিত করতে পারবেন।
Read more