From c5a2aa0a2a47e9fe68b7998d3e967e13ce9d04d5 Mon Sep 17 00:00:00 2001 From: Brandon Atkinson Date: Thu, 25 Feb 2021 20:13:21 -0500 Subject: [PATCH] Exclude additional lookalike characters (6G8B) * Fix #6075 --- src/core/PasswordGenerator.cpp | 4 ++-- tests/TestPasswordGenerator.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core/PasswordGenerator.cpp b/src/core/PasswordGenerator.cpp index efe647880..bd9dcc67b 100644 --- a/src/core/PasswordGenerator.cpp +++ b/src/core/PasswordGenerator.cpp @@ -150,7 +150,7 @@ QVector 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 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; } diff --git a/tests/TestPasswordGenerator.cpp b/tests/TestPasswordGenerator.cpp index 89e2eb91c..2ed2974a8 100644 --- a/tests/TestPasswordGenerator.cpp +++ b/tests/TestPasswordGenerator.cpp @@ -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()); }