Exclude additional lookalike characters (6G8B)

* Fix #6075
This commit is contained in:
Brandon Atkinson 2021-02-25 20:13:21 -05:00 committed by Jonathan White
parent 2d66786656
commit c5a2aa0a2a
2 changed files with 5 additions and 5 deletions

View File

@ -150,7 +150,7 @@ QVector<PasswordGroup> PasswordGenerator::passwordGroups() const
for (int i = 65; i <= (65 + 25); i++) {
if ((m_flags & ExcludeLookAlike) && (i == 73 || i == 79)) { // "I" and "O"
if ((m_flags & ExcludeLookAlike) && (i == 66 || i == 71 || i == 73 || i == 79)) { //"B", "G", "I" and "O"
continue;
}
@ -163,7 +163,7 @@ QVector<PasswordGroup> PasswordGenerator::passwordGroups() const
PasswordGroup group;
for (int i = 48; i < (48 + 10); i++) {
if ((m_flags & ExcludeLookAlike) && (i == 48 || i == 49)) { // "0" and "1"
if ((m_flags & ExcludeLookAlike) && (i == 48 || i == 49 || i == 54 || i == 56)) { // "0", "1", "6", and "8"
continue;
}

View File

@ -126,18 +126,18 @@ void TestPasswordGenerator::testLookalikeExclusion()
generator.setFlags(PasswordGenerator::GeneratorFlag::ExcludeLookAlike);
password = generator.generatePassword();
QRegularExpression regex("^[^lI0]+$");
QRegularExpression regex("^[^lBGIO]+$");
QVERIFY(regex.match(password).hasMatch());
generator.setCharClasses(PasswordGenerator::CharClass::LowerLetters | PasswordGenerator::CharClass::UpperLetters
| PasswordGenerator::CharClass::Numbers);
password = generator.generatePassword();
regex.setPattern("^[^lI01]+$");
regex.setPattern("^[^lBGIO0168]+$");
QVERIFY(regex.match(password).hasMatch());
generator.setCharClasses(PasswordGenerator::CharClass::LowerLetters | PasswordGenerator::CharClass::UpperLetters
| PasswordGenerator::CharClass::Numbers | PasswordGenerator::CharClass::EASCII);
password = generator.generatePassword();
regex.setPattern("^[^lI01﹒]+$");
regex.setPattern("^[^lBGIO0168﹒]+$");
QVERIFY(regex.match(password).hasMatch());
}