如何使用 Passay 库将部分用户名与密码匹配?
How to match part of username into password with Passay library?
我想用 passay 库匹配部分用户名和密码,例如:
用户名:“jhon.smith”和密码:“123jhon”
我发现 UsernameRule 只控制用户名是否出现在密码中,例如:
"MyUser" 和 "MyUser密码".
一种方法是将非法子字符串添加到字典中,然后使用 DictionarySubstringRule。
假设您要阻止任何人在其密码中使用其用户名的 4 个或更多连续字符:
List<Rules> rules = new ArrayList<rules>();
List<String> snippets = new ArrayList<String>();
// Add all illegal substrings to a dictionary
for (i = 0; i < username.length() - 4; i++) {
snippets.add(username.substring(i, i + 4));
}
Dictionary dict = new WordListDictionary(new ArrayWordList(snippets.toArray(new String[snippets.size()]));
Rule dsr = new DictionarySubstringRule(dict);
rules.add(dsr);
我想用 passay 库匹配部分用户名和密码,例如:
用户名:“jhon.smith”和密码:“123jhon”
我发现 UsernameRule 只控制用户名是否出现在密码中,例如:
"MyUser" 和 "MyUser密码".
一种方法是将非法子字符串添加到字典中,然后使用 DictionarySubstringRule。
假设您要阻止任何人在其密码中使用其用户名的 4 个或更多连续字符:
List<Rules> rules = new ArrayList<rules>();
List<String> snippets = new ArrayList<String>();
// Add all illegal substrings to a dictionary
for (i = 0; i < username.length() - 4; i++) {
snippets.add(username.substring(i, i + 4));
}
Dictionary dict = new WordListDictionary(new ArrayWordList(snippets.toArray(new String[snippets.size()]));
Rule dsr = new DictionarySubstringRule(dict);
rules.add(dsr);