Passay Tutorial on Passay DictionarySubstringRule

dictionarysubstringrule allows to check if certain words are not part of a password. consider the following example.

example

import org.passay.dictionarysubstringrule;
import org.passay.passworddata;
import org.passay.passwordvalidator;
import org.passay.ruleresult;
import org.passay.dictionary.arraywordlist;
import org.passay.dictionary.wordlistdictionary;

public class passayexample {
   public static void main(string[] args) {
      wordlistdictionary wordlistdictionary = new wordlistdictionary(
         new arraywordlist(new string[] { "password", "username" }));
      dictionarysubstringrule dictionaryrule = new dictionarysubstringrule(wordlistdictionary);
      passwordvalidator validator = new passwordvalidator(dictionaryrule);
      passworddata password = new passworddata("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 contains the dictionary word 'password'.]