网站结尾处是否有一种更快的方法来检查每个字符串

问题描述 投票:0回答:1

我正在尝试暴力破解我朋友的网站,我想知道检查每种可能性的最快方法。他的网站以八个字符的字符串结尾(例如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年的时间进行计算(因为每个错误几乎都不会花费时间)。

python-3.7 python-idle
1个回答
0
投票

您是否尝试过

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 
© www.soinside.com 2019 - 2024. All rights reserved.