我正在尝试暴力破解我朋友的网站,我想知道检查每种可能性的最快方法。他的网站以八个字符的字符串结尾(例如1_c2F3c $)。我现在这样做的方法是使用一堆嵌套的for循环,但这会花费很长时间。有没有更快的方法?
编辑:
import urllib.request
char = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.', ',', '<', '>', '?', '/', ';', ':', '[', ']', '{', '}', '|', '`', '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '-', '+', '=', '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', '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']
for a in char:
for b in char:
for c in char:
for d in char:
for e in char:
for f in char:
for g in char:
for h in char:
try:
urllib.request.urlopen("https://galacticacid.wixsite.com/{}".format(a+b+c+d+e+f+g+h).getcode())
print(a+b+c+d+e+f+g+h)
except:
pass
这将需要大约208年的时间进行计算(因为每个错误几乎都不会花费时间)。
您是否尝试过
timeit in in:例如
% timeit data_rec . age
1000000循环,最佳3:每个循环241 ns100000个循环,每个循环最好3:4.61 µs100000次循环,最佳3:每个循环7.27 µs
例如我们可以通过构建pd.eval来计算相同的结果表达式作为字符串:在
中[ 8 ]: % timeit pd . eval ( 'df1 + df2 + df3 + df4' )
10 loops, best of 3: 42.2 ms per loop