PasswordHistoryRule এর মাধ্যমে পুরাতন পাসওয়ার্ড চেক করা

Password History Validation - প্যাসে (Passay) - Java Technologies

274

Passay-এর PasswordHistoryRule ব্যবহার করে আপনি পুরোনো পাসওয়ার্ড চেক করতে পারেন। এটি নিশ্চিত করে যে নতুন পাসওয়ার্ডটি আগে ব্যবহৃত পাসওয়ার্ডগুলোর মধ্যে কোনো একটি নয়। এই নিয়মটি সাধারণত পাসওয়ার্ড পলিসির অংশ হিসেবে ব্যবহৃত হয় যেখানে ব্যবহারকারীদের পাসওয়ার্ড পুনরায় ব্যবহার করতে নিরুৎসাহিত করা হয়।

উদাহরণ কোড:

নিচের কোডে PasswordHistoryRule এর মাধ্যমে পুরোনো পাসওয়ার্ড যাচাই করা দেখানো হয়েছে:

import org.passay.*;

import java.util.Arrays;
import java.util.List;

public class PasswordHistoryRuleExample {

    public static void main(String[] args) {
        // পুরাতন পাসওয়ার্ডগুলোর তালিকা
        List<String> oldPasswords = Arrays.asList(
            "OldPassword1@",
            "OldPassword2@",
            "OldPassword3@"
        );

        // নতুন পাসওয়ার্ড
        String newPassword = "MyNewSecure@123";

        // PasswordHistoryRule কনফিগার করা
        PasswordHistoryRule historyRule = new PasswordHistoryRule();
        historyRule.setHistoryStore(new InMemoryPasswordStore(oldPasswords));
        historyRule.setNumberOfHistoricalPasswordsToCheck(oldPasswords.size()); // যতগুলো পুরানো পাসওয়ার্ড চেক করতে হবে

        PasswordValidator validator = new PasswordValidator(Arrays.asList(
            historyRule, // পাসওয়ার্ড হিস্ট্রি রুল যোগ করা
            new LengthRule(8, 16), // পাসওয়ার্ড দৈর্ঘ্য চেক
            new UppercaseCharacterRule(1), // বড় হাতের অক্ষর
            new DigitCharacterRule(1),  // অন্তত একটি সংখ্যা
            new SpecialCharacterRule(1) // স্পেশাল ক্যারেক্টার
        ));

        // পাসওয়ার্ড যাচাই
        RuleResult result = validator.validate(new PasswordData(newPassword));

        if (result.isValid()) {
            System.out.println("পাসওয়ার্ড বৈধ!");
        } else {
            System.out.println("পাসওয়ার্ড অবৈধ। কারণ:");
            validator.getMessages(result).forEach(System.out::println);
        }
    }

    // In-memory password history store
    static class InMemoryPasswordStore implements PasswordHistoryStore {
        private final List<String> historicalPasswords;

        public InMemoryPasswordStore(List<String> historicalPasswords) {
            this.historicalPasswords = historicalPasswords;
        }

        @Override
        public boolean contains(String password) {
            return historicalPasswords.contains(password);
        }
    }
}

কীভাবে এটি কাজ করে:

  1. PasswordHistoryRule:
    • এটি চেক করে যে নতুন পাসওয়ার্ডটি পূর্বে ব্যবহৃত পাসওয়ার্ডগুলোর সাথে মেলে কিনা।
  2. InMemoryPasswordStore:
    • পুরোনো পাসওয়ার্ড সংরক্ষণের জন্য একটি স্টোর তৈরি করা হয়েছে। এই উদাহরণে এটি ইন-মেমরি স্টোর।
  3. কনফিগারেশন:
    • setHistoryStore: পাসওয়ার্ড ইতিহাসের তালিকা সেট করা হয়।
    • setNumberOfHistoricalPasswordsToCheck: নির্ধারণ করে কতগুলো পুরানো পাসওয়ার্ড চেক করতে হবে।

গুরুত্বপূর্ণ পয়েন্ট:

  • প্রোডাকশনে পাসওয়ার্ডের ইতিহাস ডাটাবেজ বা নিরাপদ স্টোরেজ এ সংরক্ষণ করুন।
  • পাসওয়ার্ডের হ্যাশড ফর্ম ব্যবহার করুন সরাসরি সংরক্ষণ করার পরিবর্তে।
  • Passay শুধুমাত্র বৈধতা চেক করে; পাসওয়ার্ড স্টোরেজ এবং সুরক্ষা কৌশল আপনার অ্যাপ্লিকেশনের দায়িত্ব।

Maven Dependency:

Passay-এর নির্ভরতা যোগ করতে ব্যবহার করুন:

<dependency>
    <groupId>org.passay</groupId>
    <artifactId>passay</artifactId>
    <version>1.6.0</version>
</dependency>

এইভাবে, PasswordHistoryRule আপনার অ্যাপ্লিকেশনের পাসওয়ার্ড নিরাপত্তা বাড়াতে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...