def main(): ip_address, port = sys.argv[1:3] client = Client(ip_address, int(port)) password_checker = PasswordChecker(client) password = password_checker.crack_password() print(password) client.close_connection()
def find_password_candidates() -> list: range_min = 156218 range_max = 652527 candidates = [] for i in range(range_min, range_max): if not PasswordChecker.has_adjacent_digits(i): continue if not PasswordChecker.digits_all_increase(i): continue candidates.append(i) print("In total", len(candidates), "digits were found.") return candidates
def test_str_number_instances_bool_digit_false(self): pc = PasswordChecker('PasswordsAreAwesome', 'PasswordsAreAwesome') self.assertFalse( pc.str_number_instances_bool(r'\d', operator.ge, 1) )
def test_str_number_instances_bool_digit_true(self): pc = PasswordChecker('Password123', 'Password123') self.assertTrue( pc.str_number_instances_bool(r'\d', operator.ge, 1) )
def test_str_number_instances_bool_uppercase_false(self): pc = PasswordChecker('password123', 'password123') self.assertFalse( pc.str_number_instances_bool(r'[A-Z]', operator.ge, 1) )
def test_str_number_instances_bool_lowercase_false(self): pc = PasswordChecker('PASSWORD123', 'PASSWORD123') self.assertFalse( pc.str_number_instances_bool(r'[a-z]', operator.ge, 1) )
def test_0_execute(self): self.assertTrue(PasswordChecker.has_adjacent_digits_strict(112233))
def test_validate_false_uppercase(self): pc = PasswordChecker('password123', 'password123') self.assertFalse(pc.validate())
def test_validate_false_length(self): pc = PasswordChecker('Pass12', 'Pass12') self.assertFalse(pc.validate())
def test_strings_dont_match(self): pc = PasswordChecker('foo', 'bar') self.assertFalse(pc.check_strings_match())
def test_strings_match(self): pc = PasswordChecker('foo', 'foo') self.assertTrue(pc.check_strings_match())
def test___init__type_error(self): with self.assertRaises(TypeError): pc = PasswordChecker('foo')
def test_1_execute(self): self.assertFalse(PasswordChecker.has_adjacent_digits_strict(123444))
def test___init__(self): pc = PasswordChecker('foo', 'foo') self.assertTrue(pc)
def test_str_number_instances_bool_length_true(self): pc = PasswordChecker('Password123', 'Password123') self.assertTrue( pc.str_number_instances_bool(r'.', operator.ge, 8) )
def test_validate_true(self): pc = PasswordChecker('Password123', 'Password123') self.assertTrue(pc.validate())
def test_str_number_instances_bool_length_false(self): pc = PasswordChecker('Pass', 'Pass') self.assertFalse( pc.str_number_instances_bool(r'\d', operator.ge, 8) )
def test_validate_false_lowercase(self): pc = PasswordChecker('PASSWORD123', 'PASSWORD123') self.assertFalse(pc.validate())
def test_str_number_instances_bool_lowercase_true(self): pc = PasswordChecker('Password123', 'Password123') self.assertTrue( pc.str_number_instances_bool(r'[a-z]', operator.ge, 1) )
def test_validate_false_digit(self): pc = PasswordChecker('Password', 'Password') self.assertFalse(pc.validate())
def test_3_execute(self): self.assertFalse(PasswordChecker.digits_all_increase(223450))