Esempio n. 1
0
    def test_score_deduction_sequential_symbols(self):
        passwd = 'Jonas)!@Antunes$('

        Deductions(passwd)
        score = Score(passwd)

        assert score.score_deduct_sequential_symbols() == 3
Esempio n. 2
0
    def test_score_deduction_sequential_letters(self):
        passwd = 'JonabcAntuneshij'

        Deductions(passwd)
        score = Score(passwd)

        assert score.score_deduct_sequential_letters() == 6
Esempio n. 3
0
    def test_score_deduction_sequential_numbers(self):
        passwd = 'Jonas123Antunes23678'

        Deductions(passwd)
        score = Score(passwd)

        assert score.score_deduct_sequential_numbers() == 6
Esempio n. 4
0
    def test_score_deduction_consecutive_numbers(self):
        passwd = 'Jonas1Antunes45'

        Deductions(passwd)
        score = Score(passwd)

        assert score.score_deduct_consecutive_numbers() == 2
Esempio n. 5
0
    def test_score_deduction_consecutives_lowercases(self):
        passwd = 'jonasANT234'

        Deductions(passwd)
        score = Score(passwd)

        assert score.score_deduct_consecutives_lowercases() == 8
Esempio n. 6
0
    def test_score_deduct_consecutives_uppercases(self):
        passwd = 'JonasANtunes'

        Deductions(passwd)
        score = Score(passwd)

        assert score.score_deduct_consecutives_uppercases() == 2
Esempio n. 7
0
    def test_score_deduct_numbers_only(self):
        passwd = '143475'

        Deductions(passwd)
        score = Score(passwd)

        assert score.score_deduct_numbers_only() == 6
Esempio n. 8
0
    def test_score_deduct_letters_only(self):
        passwd = 'jonasantunes'

        Deductions(passwd)
        score = Score(passwd)

        assert score.score_deduct_letters_only() == 12
Esempio n. 9
0
    def test_complexity_of_password_very_strong(self):
        passwd = 'Jo4/An9T-u'

        Deductions(passwd)
        Additions(passwd)
        score = Score(passwd)

        assert score.complexity() == '\033[1;32mVery Strong\033[m'
Esempio n. 10
0
    def test_complexity_of_password_good(self):
        passwd = 'Jo4/'

        Deductions(passwd)
        Additions(passwd)
        score = Score(passwd)

        assert score.complexity() == '\033[1;34mGood\033[m'
Esempio n. 11
0
    def test_complexity_of_password_weak(self):
        passwd = 'Jo4'

        Deductions(passwd)
        Additions(passwd)
        score = Score(passwd)

        assert score.complexity() == '\033[1;33mWeak\033[m'
Esempio n. 12
0
    def test_complexity_of_password_too_short(self):
        passwd = ''

        Deductions(passwd)
        Additions(passwd)
        score = Score(passwd)

        assert score.complexity() == '\033[1;31mToo Short\033[m'
Esempio n. 13
0
    def test_sequential_letters_retorna_numero_de_sequencias_alfabeticas_agrupadas_por_tres_caracteres(self):
        passwd = 'Jonasabcjgfjkl'

        deductions = Deductions(passwd)

        assert deductions.sequential_letters() == 2
Esempio n. 14
0
    def test_sequential_numbers_retorna_numero_de_sequencias_numericas_ate_dez_agrupadas_por_tres(self):
        passwd = 'Jonas123ad12/456'

        deductions = Deductions(passwd)

        assert deductions.sequential_numbers() == 2
Esempio n. 15
0
    def test_letters_only_deve_retornar_numero_de_letras_se_todas_forem_letras(self):
        passwd = 'jonasantunes'

        deductions = Deductions(passwd)

        assert deductions.letters_only() == 12
Esempio n. 16
0
    def test_consecutive_numbers_retorna_vezes_de_numeros_digitados_consecutivamente(self):
        passwd = 'Jonas1a79'

        deductions = Deductions(passwd)

        assert deductions.consecutive_numbers() == 1
Esempio n. 17
0
    def test_consecutive_uppercase_deve_retornar_numero_de_letras_maiusculas_consecutivas(self):
        passwd = 'JonasANt32'

        deductions = Deductions(passwd)

        assert deductions.consecutive_uppercase_letters() == 1
Esempio n. 18
0
    def test_consecutive_lowercase_retorna_numero_de_letras_minusculas_consecuticvas(self):
        passwd = 'jonasAnt24'

        deductions = Deductions(passwd)

        assert deductions.consecutive_lower_letters() == 5
Esempio n. 19
0
    def test_numbers_only_retorna_zero_se_string_nao_for_toda_em_numbers(self):
        passwd = '12323af'

        deductions = Deductions(passwd)

        assert deductions.numbers_only() == 0
Esempio n. 20
0
    def test_numbers_only_retorna_numero_de_caracteres_se_todos_forem_numeros(self):
        passwd = '13343545'

        deductions = Deductions(passwd)

        assert deductions.numbers_only() == 8
Esempio n. 21
0
    def test_letters_only_retorna_zero_se_string_nao_for_toda_em_letras(self):
        passwd = 'jonas1antunes'

        deductions = Deductions(passwd)

        assert deductions.letters_only() == 0
Esempio n. 22
0
 def __init__(self, passwd):
     self.__passwd = passwd
     self.__deduction = Deductions(passwd)
     self.__addition = Additions(passwd)
     self.__score = 0
Esempio n. 23
0
    def test_sequential_symbols_retorna_numero_de_sequencias_de_symbolos_agrupados_por_tres(self):
        passwd = 'Jonas)!@ad$&'

        deductions = Deductions(passwd)

        assert deductions.sequential_symbols() == 1
Esempio n. 24
0
import sys
from app.requiriments.additions.addition import Additions
from app.requiriments.deductions.deduction import Deductions
from app.score.score import Score

sys.path.append('C:/Users/jonas.antunes/Desktop/python/')

print('-'*30, f'\033[1;31mVerificação de senha\033[m', '-'*30)
senha = input('\033[1;33mDigite sua senha: \033[m')

add = Additions(senha)
deduct = Deductions(senha)
score = Score(senha)
print(f'Number of Characters:               \033[1;32m+{score.score_add_number_of_characteres_passwd()}\033[m')
print(f'Uppercase Letters:                  \033[1;32m+{score.score_add_uppercases()}\033[m')
print(f'Lowercase Letter:                   \033[1;32m+{score.score_add_lowercases()}\033[m')
print(f'Numbers:                            \033[1;32m+{score.score_add_numbers()}\033[m')
print(f'Symbols:                            \033[1;32m+{score.score_add_symbols()}\033[m')
print(f'Middle Numbers or Symbols:          \033[1;32m+{score.score_add_middle_numbers_or_symbols()}\033[m')
print(f'Requirements:                       \033[1;32m+{score.score_add_requeriments()}\033[m')
print(f'Letter Only:                        \033[1;31m-{score.score_deduct_letters_only()}\033[m')
print(f'Numbers Only:                       \033[1;31m-{score.score_deduct_numbers_only()}\033[m')
print(f'Consecutive Uppercase Letters:      \033[1;31m-{score.score_deduct_consecutives_uppercases()}\033[m')
print(f'Consecutive Lowercase Letters:      \033[1;31m-{score.score_deduct_consecutives_lowercases()}\033[m')
print(f'Consecutive Numbers:                \033[1;31m-{score.score_deduct_consecutive_numbers()}\033[m')
print(f'Sequential Letters (+3):            \033[1;31m-{score.score_deduct_sequential_letters()}\033[m')
print(f'Sequential Numbers (+3):            \033[1;31m-{score.score_deduct_sequential_numbers()}\033[m')
print(f'Sequential Symbols (+3):            \033[1;31m-{score.score_deduct_sequential_symbols()}\033[m')
print(f'Score:                     \033[1;32m{score.get_score():.0f}%\033[m')
print(f'Complexity:                {score.complexity()}')
Esempio n. 25
0
class Score:
    def __init__(self, passwd):
        self.__passwd = passwd
        self.__deduction = Deductions(passwd)
        self.__addition = Additions(passwd)
        self.__score = 0

    def complexity(self):
        _complex = ''
        if len(self.__passwd) == 0:
            _complex = '\033[1;31mToo Short\033[m'
        elif self.get_score() < 20:
            _complex = '\033[1;31mVery Weak\033[m'
        elif self.get_score() < 40:
            _complex = '\033[1;33mWeak\033[m'
        elif self.get_score() < 60:
            _complex = '\033[1;34mGood\033[m'
        elif self.get_score() < 80:
            _complex = '\033[1;32mStrong\033[m'
        elif self.get_score() <= 100:
            _complex = '\033[1;32mVery Strong\033[m'
        return _complex

    def get_score(self):
        add = self.score_add_number_of_characteres_passwd(
        ) + self.score_add_lowercases() + self.score_add_uppercases(
        ) + self.score_add_numbers() + self.score_add_symbols(
        ) + self.score_add_middle_numbers_or_symbols(
        ) + self.score_add_requeriments()
        deduct = self.score_deduct_consecutive_numbers(
        ) + self.score_deduct_consecutives_lowercases(
        ) + self.score_deduct_consecutives_uppercases(
        ) + self.score_deduct_letters_only() + self.score_deduct_numbers_only(
        ) + self.score_deduct_sequential_letters(
        ) + self.score_deduct_sequential_numbers(
        ) + self.score_deduct_sequential_symbols()
        score = add - deduct
        if score > 100:
            score = 100
        return score

    def score_add_number_of_characteres_passwd(self):
        score = self.__addition.number_of_charactere_passwd() * 4
        return score

    def score_add_uppercases(self):
        if self.__addition.uppercases() != 0:
            score = (len(self.__passwd) - self.__addition.uppercases()) * 2
            return score
        return 0

    def score_add_lowercases(self):
        if self.__addition.lowercases() != 0:
            score = (len(self.__passwd) - self.__addition.lowercases()) * 2
            return score
        return 0

    def score_add_numbers(self):
        score = self.__addition.numbers() * 4
        return score

    def score_add_symbols(self):
        score = self.__addition.symbols() * 6
        return score

    def score_add_middle_numbers_or_symbols(self):
        score = self.__addition.middle_numbers_or_symbols() * 2
        return score

    def score_add_requeriments(self):
        score = 0
        if self.__addition.number_of_charactere_passwd() >= 8:
            if self.__addition.requirements() >= 4:
                score = self.__addition.requirements() * 2
        return score

    def score_deduct_letters_only(self):
        score = self.__deduction.letters_only()
        return score

    def score_deduct_numbers_only(self):
        score = self.__deduction.numbers_only()
        return score

    def score_deduct_consecutives_uppercases(self):
        score = self.__deduction.consecutive_uppercase_letters() * 2
        return score

    def score_deduct_consecutives_lowercases(self):
        score = self.__deduction.consecutive_lower_letters() * 2
        return score

    def score_deduct_consecutive_numbers(self):
        score = self.__deduction.consecutive_numbers() * 2
        return score

    def score_deduct_sequential_letters(self):
        score = self.__deduction.sequential_letters() * 3
        return score

    def score_deduct_sequential_numbers(self):
        score = self.__deduction.sequential_numbers() * 3
        return score

    def score_deduct_sequential_symbols(self):
        score = self.__deduction.sequential_symbols() * 3
        return score