我自己的蛮力
My Own Brute Force
所以我正在尝试创建我自己的暴力应用程序类型。
我知道已经有关于如何做到这一点的版本,但我需要有关我正在做的某种方式的帮助
我所做的是创建一个遍历值数组的循环
poss = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
它给出了所有可能的字符(不包括特殊字符),我稍后添加它们。
我每次都设置一个默认密码只是为了测试目的,这将更改为我日后试图破解的格式。
psw = str(input("Password?"))
所以我所做的是做一个 for 循环,循环遍历 poss
中的所有值,如果它等于密码,它将中断并打印它是正确的
for i in poss:
print(i)
if i is psw:
print("\"" +i+ "\"", "Is the correct password!")
break
这里的代码没问题..如果密码是一个字符。
但是现在我面临着添加角色的问题。
例如,如果我循环到结束 poss
并且它仍然不匹配 psw
我如何让它添加小数位,例如一旦它尝试“0”我希望它重新启动但带有一个字符之前喜欢“aa”,然后是“ab”等等
更新:
我尝试添加更多列表:
possa = []
possb = []
possc = []
possd = []
等等
然后我继续将值循环到:
for i in poss:
possa.append("a"+str(i))
possb.append("b"+str(i))
possc.append("c"+str(i))
possd.append("d"+str(i))
等等
这是一种方法,但又很长,因为我必须对 poss
中的每个字符都执行此操作,然后再对三个字符(如“aaa”)执行此操作
from itertools import product
from string import ascii_lowercase, digits
possible_chars = ascii_lowercase + digits
for password_length in range(1, 9): # up to 8 characters
for chars in product(possible_chars, repeat=password_length):
guess = "".join(chars)
# test guess
所以我正在尝试创建我自己的暴力应用程序类型。 我知道已经有关于如何做到这一点的版本,但我需要有关我正在做的某种方式的帮助
我所做的是创建一个遍历值数组的循环
poss = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
它给出了所有可能的字符(不包括特殊字符),我稍后添加它们。
我每次都设置一个默认密码只是为了测试目的,这将更改为我日后试图破解的格式。
psw = str(input("Password?"))
所以我所做的是做一个 for 循环,循环遍历 poss
中的所有值,如果它等于密码,它将中断并打印它是正确的
for i in poss:
print(i)
if i is psw:
print("\"" +i+ "\"", "Is the correct password!")
break
这里的代码没问题..如果密码是一个字符。
但是现在我面临着添加角色的问题。
例如,如果我循环到结束 poss
并且它仍然不匹配 psw
我如何让它添加小数位,例如一旦它尝试“0”我希望它重新启动但带有一个字符之前喜欢“aa”,然后是“ab”等等
更新:
我尝试添加更多列表:
possa = []
possb = []
possc = []
possd = []
等等
然后我继续将值循环到:
for i in poss:
possa.append("a"+str(i))
possb.append("b"+str(i))
possc.append("c"+str(i))
possd.append("d"+str(i))
等等
这是一种方法,但又很长,因为我必须对 poss
中的每个字符都执行此操作,然后再对三个字符(如“aaa”)执行此操作
from itertools import product
from string import ascii_lowercase, digits
possible_chars = ascii_lowercase + digits
for password_length in range(1, 9): # up to 8 characters
for chars in product(possible_chars, repeat=password_length):
guess = "".join(chars)
# test guess