DictionarySubstringRulepermite verificar se certas palavras não fazem parte de uma senha. Considere o seguinte exemplo.
Exemplo
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("[email protected]");
RuleResult result = validator.validate(password);
if(result.isValid()){
System.out.println("Password validated.");
}else{
System.out.println("Invalid Password: " + validator.getMessages(result));
}
}
}
Resultado
Invalid Password: [Password contains the dictionary word 'password'.]