在 Python 密码破解器中使用 itertools
Using itertools in Python password cracker
我做了一个简单的密码破解器:
import string as s
import itertools as it
things = s.ascii_letters
for digits in range(2, 6):
for combo in it.combinations(things, digits):
output = ''.join(combo)
print(output)
但它并没有打印出所有的可能性。
例如,这个程序给出的最后输出是:
VWXYZ
如果我有一个以“X”开头的密码,程序将无法找到它。
有什么办法可以解决这个问题吗?我的代码有什么问题?
使用 itertools.product()
和 repeat
参数。使用 itertools.combinations()
不允许多次选择同一个字母:
import string as s
import itertools as it
things = s.ascii_letters
for digits in range(2, 6):
for combo in it.product(things, repeat=digits):
output = ''.join(combo)
print(output)
我做了一个简单的密码破解器:
import string as s
import itertools as it
things = s.ascii_letters
for digits in range(2, 6):
for combo in it.combinations(things, digits):
output = ''.join(combo)
print(output)
但它并没有打印出所有的可能性。
例如,这个程序给出的最后输出是:
VWXYZ
如果我有一个以“X”开头的密码,程序将无法找到它。
有什么办法可以解决这个问题吗?我的代码有什么问题?
使用 itertools.product()
和 repeat
参数。使用 itertools.combinations()
不允许多次选择同一个字母:
import string as s
import itertools as it
things = s.ascii_letters
for digits in range(2, 6):
for combo in it.product(things, repeat=digits):
output = ''.join(combo)
print(output)