Passay-এর মাধ্যমে পাসওয়ার্ডে Dictionary শব্দ চেক করতে হলে DictionaryRule ব্যবহার করা হয়। এই রুলটি একটি শব্দতালিকা (dictionary) প্রদান করে পাসওয়ার্ডে সাধারণ বা নিষিদ্ধ শব্দ চেক করতে ব্যবহৃত হয়।
উদাহরণ:
import org.passay.*;
import java.util.Arrays;
public class DictionaryRuleExample {
public static void main(String[] args) {
// একটি সাধারণ শব্দ তালিকা তৈরি
WordList wordList = new ArrayWordList(new String[] {
"password", "admin", "user", "123456", "qwerty"
}, false); // Case-sensitive নয়
// একটি শব্দ তালিকার উপর ভিত্তি করে রুল তৈরি
DictionaryRule dictionaryRule = new DictionaryRule(wordList);
// পাসওয়ার্ড ভ্যালিডেটর তৈরি
PasswordValidator validator = new PasswordValidator(Arrays.asList(
dictionaryRule
));
// টেস্ট পাসওয়ার্ড
String password = "password123";
RuleResult result = validator.validate(new PasswordData(password));
if (result.isValid()) {
System.out.println("পাসওয়ার্ড বৈধ!");
} else {
System.out.println("পাসওয়ার্ড অবৈধ। কারণ:");
validator.getMessages(result).forEach(System.out::println);
}
}
}
কোড ব্যাখ্যা:
- WordList:
এখানেArrayWordListব্যবহার করে একটি শব্দতালিকা তৈরি করা হয়েছে। আপনিResourceWordListব্যবহার করে ফাইল বা অন্য উৎস থেকে শব্দ লোড করতে পারেন। - DictionaryRule:
এই রুলটি শব্দতালিকায় থাকা যেকোনো শব্দের সাথে পাসওয়ার্ড মিলিয়ে দেখে। - PasswordValidator:
এটিDictionaryRule-সহ পাসওয়ার্ড যাচাই করার জন্য ব্যবহার করা হয়। - Validation Output:
যদি পাসওয়ার্ড শব্দতালিকার সাথে মিলে যায়, তবে এটি অবৈধ হিসেবে চিহ্নিত হবে এবং কারণ দেখাবে।
Maven Dependency:
Passay লাইব্রেরি ব্যবহারের জন্য Maven dependency যোগ করতে হবে:
<dependency>
<groupId>org.passay</groupId>
<artifactId>passay</artifactId>
<version>1.6.0</version>
</dependency>
Dictionary ফাইল ব্যবহার:
আপনি যদি বহিরাগত একটি ডিকশনারি ফাইল ব্যবহার করতে চান, তাহলে FileWordList বা ResourceWordList ব্যবহার করতে পারেন:
WordList wordList = WordLists.createFromReader(
new FileReader[] { new FileReader("path/to/dictionary.txt") },
false, // case-insensitive
new ArraysSort()
);
DictionaryRule dictionaryRule = new DictionaryRule(wordList);
ব্যবহার ক্ষেত্র:
- সাধারণ বা সহজ পাসওয়ার্ড (যেমন: "password123") প্রতিরোধ।
- Dictionary-based brute-force আক্রমণ প্রতিরোধ।
- আরো নিরাপদ পাসওয়ার্ড নীতি বাস্তবায়ন।
এটি একটি কার্যকর পদ্ধতি যাতে ব্যবহারকারীর পাসওয়ার্ড শক্তিশালী হয় এবং নিরাপত্তা নিশ্চিত করা যায়।
Content added By
Read more