예제 #1
0
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()
예제 #2
0
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
예제 #3
0
 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)
     )
예제 #4
0
 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)
     )
예제 #5
0
 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)
     )
예제 #6
0
 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))
예제 #8
0
 def test_validate_false_uppercase(self):
     pc = PasswordChecker('password123', 'password123')
     self.assertFalse(pc.validate())
예제 #9
0
 def test_validate_false_length(self):
     pc = PasswordChecker('Pass12', 'Pass12')
     self.assertFalse(pc.validate())
예제 #10
0
 def test_strings_dont_match(self):
     pc = PasswordChecker('foo', 'bar')
     self.assertFalse(pc.check_strings_match())
예제 #11
0
 def test_strings_match(self):
     pc = PasswordChecker('foo', 'foo')
     self.assertTrue(pc.check_strings_match())
예제 #12
0
 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))
예제 #14
0
 def test___init__(self):
     pc = PasswordChecker('foo', 'foo')
     self.assertTrue(pc)
예제 #15
0
 def test_str_number_instances_bool_length_true(self):
     pc = PasswordChecker('Password123', 'Password123')
     self.assertTrue(
         pc.str_number_instances_bool(r'.', operator.ge, 8)
     )
예제 #16
0
 def test_validate_true(self):
     pc = PasswordChecker('Password123', 'Password123')
     self.assertTrue(pc.validate())
예제 #17
0
 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)
     )
예제 #18
0
 def test_validate_false_lowercase(self):
     pc = PasswordChecker('PASSWORD123', 'PASSWORD123')
     self.assertFalse(pc.validate())
예제 #19
0
 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)
     )
예제 #20
0
 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))