Как перебрать все возможные варианты пароля?
Вот код, но он брутит только знакомый мне пароль, как сделать так, чтобы он подбирал неизвестный мне пароль
import random
correctPassword = "6537"
wrongPasswords = []
password = ""
length = 4
chars = "1234567890"
run = True
while run:
password = ""
for i in range(length):
password += random.choice(chars)
if password not in wrongPasswords:
if password != correctPassword:
print(password)
wrongPasswords.append(password)
else:
run = False
break
print(password + " is correct")
Ответы (1 шт):
Автор решения: Hellseher
→ Ссылка
# File : 1093133.py
# Modified : <2020-3-22 Sun 16:38:54 GMT>
# URL : https://ru.stackoverflow.com/questions/1098155
import string
import itertools
import time
password_real = "6537"
start_time = time.time()
guess_password_set = string.digits + string.ascii_letters + string.punctuation
guess_password_length = 1
def string_iter(string, length):
yield from itertools.product(*([string] * length))
while True:
for password_set in string_iter(guess_password_set, guess_password_length):
password_string = ''.join(password_set)
if password_string == password_real:
end_time = time.time()
exec_time = end_time - start_time
print("Password is found for {}s: {}"
.format(exec_time, password_string))
exit()
guess_password_length += 1
$ python3 1098155.py
Password is found for 1.808835744857788s: 6537