Passay Tutorial on Passay HistoryRule

historyrule allows to check if given password has not been in use in near past. consider the following example.

example

import org.passay.historyrule;
import org.passay.passworddata;
import org.passay.passwordvalidator;
import org.passay.ruleresult;
import org.passay.sourcerule;

public class passayexample {
   public static void main(string[] args) {
      sourcerule sourcerule = new sourcerule();
      historyrule historyrule = new historyrule();
      passwordvalidator validator = new passwordvalidator(sourcerule, historyrule);
      passworddata password = new passworddata("password@123");
      password.setpasswordreferences(
         new passworddata.sourcereference("source", "password"), 
         new passworddata.historicalreference("password@123")
      );
      ruleresult result = validator.validate(password);

      if(result.isvalid()){
         system.out.println("password validated.");
      }else{
         system.out.println("invalid password: " + validator.getmessages(result));            
      }
   }
}

output

invalid password: [password matches one of 1 previous passwords.]