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.]