Passay লাইব্রেরি Default এবং Custom পাসওয়ার্ড জেনারেশন ফিচার প্রদান করে, যা ডেভেলপারদের পাসওয়ার্ড তৈরি করার প্রক্রিয়া সহজ এবং নিরাপদ করে তোলে। এটি পাসওয়ার্ডের শক্তি এবং বৈধতা নিশ্চিত করার জন্য বিভিন্ন নিয়ম এবং পলিসি প্রয়োগ করতে সহায়ক।
Default Password Generation:
Passay লাইব্রেরি পাসওয়ার্ড তৈরি করার জন্য PasswordGenerator ক্লাস ব্যবহার করে, যা কিছু সাধারণ নিয়ম অনুসারে (যেমন, সংখ্যা, বড় হাতের অক্ষর, ছোট হাতের অক্ষর, স্পেশাল ক্যারেক্টার) একটি র্যান্ডম পাসওয়ার্ড তৈরি করে।
উদাহরণ: Default Password Generation
import org.passay.*;
import java.util.Arrays;
public class DefaultPasswordGenerationExample {
public static void main(String[] args) {
PasswordGenerator passwordGenerator = new PasswordGenerator();
// পাসওয়ার্ড তৈরির নিয়ম
PasswordData passwordData = new PasswordData()
.setLength(12) // পাসওয়ার্ডের দৈর্ঘ্য 12
.setLowercase(true) // ছোট হাতের অক্ষর
.setUppercase(true) // বড় হাতের অক্ষর
.setDigit(true) // সংখ্যা
.setSpecialCharacter(true); // স্পেশাল ক্যারেক্টার
// পাসওয়ার্ড তৈরি করা
String generatedPassword = passwordGenerator.generatePassword(passwordData);
System.out.println("জেনারেটেড পাসওয়ার্ড: " + generatedPassword);
}
}
এই কোডে, PasswordGenerator দ্বারা একটি পাসওয়ার্ড তৈরি করা হয়েছে যার দৈর্ঘ্য 12 এবং তাতে ছোট হাতের অক্ষর, বড় হাতের অক্ষর, সংখ্যা এবং স্পেশাল ক্যারেক্টার থাকবে।
Custom Password Generation:
Passay ব্যবহারকারীদের তাদের নিজস্ব পাসওয়ার্ড নীতি কনফিগার করার সুবিধাও দেয়। Custom পাসওয়ার্ড তৈরি করার জন্য, আপনি বিভিন্ন নিয়ম এবং পলিসি সেট করতে পারেন। যেমন: আপনি আপনার পাসওয়ার্ডে নির্দিষ্ট স্পেশাল ক্যারেক্টার, সংখ্যা, বা একে অপরের সাথে সম্পর্কিত অক্ষর ব্যবহার করতে চাইলে তা নিয়ন্ত্রণ করতে পারবেন।
উদাহরণ: Custom Password Generation
import org.passay.*;
import java.util.Arrays;
public class CustomPasswordGenerationExample {
public static void main(String[] args) {
// PasswordGenerator তৈরি করা
PasswordGenerator passwordGenerator = new PasswordGenerator();
// পাসওয়ার্ডের জন্য Custom নিয়ম
CharacterRule lowerCaseRule = new CharacterRule(new CharacterDataLowerCase());
CharacterRule upperCaseRule = new CharacterRule(new CharacterDataUpperCase());
CharacterRule digitRule = new CharacterRule(new CharacterDataDigit());
CharacterRule specialCharRule = new CharacterRule(new CharacterDataSpecial());
// পাসওয়ার্ডে অন্তত 1 ছোট হাতের অক্ষর, 1 বড় হাতের অক্ষর, 1 সংখ্যা এবং 1 স্পেশাল ক্যারেক্টার থাকতে হবে
String generatedPassword = passwordGenerator.generatePassword(
14, // পাসওয়ার্ডের দৈর্ঘ্য 14
lowerCaseRule, // ছোট হাতের অক্ষর
upperCaseRule, // বড় হাতের অক্ষর
digitRule, // সংখ্যা
specialCharRule // স্পেশাল ক্যারেক্টার
);
System.out.println("কাস্টম পাসওয়ার্ড: " + generatedPassword);
}
}
এখানে, আমরা CharacterRule ব্যবহার করে কাস্টম নিয়ম তৈরি করেছি যা ছোট হাতের অক্ষর, বড় হাতের অক্ষর, সংখ্যা এবং স্পেশাল ক্যারেক্টার থাকতে বাধ্য করে।
কাস্টম পাসওয়ার্ড জেনারেশন নিয়ম:
- Length Rule: পাসওয়ার্ডের দৈর্ঘ্য কেমন হবে তা নির্ধারণ করা।
- Character Rules: বিশেষ ধরনের অক্ষর (ছোট হাতের, বড় হাতের, সংখ্যা, স্পেশাল ক্যারেক্টার) থাকার বাধ্যবাধকতা।
- Word List Dictionary: পাসওয়ার্ডে কোন নিষিদ্ধ শব্দ (যেমন: "password", "1234") যাতে না থাকে, সেটি নিশ্চিত করা।
- Sequence Rule: পাসওয়ার্ডে ধারাবাহিক অক্ষর বা সংখ্যা থাকা উচিত নয়।
নিরাপত্তার দিক থেকে সুবিধা:
- Default Password Generation: দ্রুত এবং নিরাপদ পাসওয়ার্ড তৈরি করা, যা স্বয়ংক্রিয়ভাবে শক্তিশালী হবে।
- Custom Password Generation: নির্দিষ্ট নীতির সাথে কাস্টম পাসওয়ার্ড তৈরি করার সুযোগ, যেমন পাসওয়ার্ডে বিশেষ চরিত্র, অক্ষর এবং সংখ্যা থাকা।
- Strong Password Policies: নিরাপদ পাসওয়ার্ড নিশ্চিত করার জন্য নিয়মের মাধ্যমে কাস্টমাইজড পাসওয়ার্ড গঠন করা।
Maven Dependency:
<dependency>
<groupId>org.passay</groupId>
<artifactId>passay</artifactId>
<version>1.6.0</version>
</dependency>
Passay লাইব্রেরির এই ফিচারগুলি অ্যাপ্লিকেশনগুলোতে নিরাপদ এবং শক্তিশালী পাসওয়ার্ড তৈরি করতে সহায়ক, যা হ্যাকারদের আক্রমণ প্রতিরোধে কার্যকর।
Read more