Python蛮力?

2024-05-19 03:03:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大致的想法,一种方法来暴力破解密码,但作为一个python新手,我不知道从这里去哪里。。。你知道吗

到目前为止,我有以下几点:

password = "myPaSs123"

ll = ["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"]
ul = ["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"]
n = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
s = ["!", "@", "#", "$", "%", "^", "&"]
full = ll+ul+n+s
crackedPass = []

def guesser():
    guess = 0
    for i in full:
        for x in range(len(password)):
            if i == password:
                crackedPass.append(i)
                print "Password found: " + str(crackedPass)

guesser()

我现在不知道该怎么办了。如果有人对这个话题有一些见解,我很乐意得到任何帮助。谢谢您!你知道吗


Tags: 方法in密码fordefrangepasswordul
2条回答

这是你想要的,我相信,问题是我只是给你的问题的答案,我相信你不明白我张贴的代码,所以让我解释得非常详细! 你的代码是好的,但只是在阅读我发布的这段代码是你想要达到的,但有一个更大的理解你想要做的方面令人讨厌。。。你知道吗

(1st) we import the functions: itertools, math, and os

它们给我们提供了大量的函数用于程序中。。。 然后我们有足够简单的字母表,它包含字母表或字符,因为它们毕竟是字符。你知道吗

其余的由你来阅读这不是一个教程,但通过阅读我给你的应该给线的颜色后面的快乐编码哥哥/姐姐的!你知道吗

import itertools, math
import os
Alphabet = ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890") # Add or     remove whatevs you think will be in the password you're cracking (example, [symbols])
counter = 1
CharLength = 1
range_num = int(raw_input("Enter range: "))
stopper = range_num + 1
filename = "bruteforce_%r.txt" % (range_num)
f = open(filename, 'a')
#n_1 = len(Alphabet)
#n_2 = n_1 - 1 # <  total useless peice of garbage that could of been great in vurtual life
#n_3 = '0' * n_2
#n = '1' + n_3
x = range_num
y = len(Alphabet)
amount = math.pow(y, x)
total_items = math.pow(y, x)
for CharLength in range(range_num, stopper):
    passwords = (itertools.product(Alphabet, repeat = CharLength))

    for i in passwords:
        counter += 1
        percentage = (counter / total_items) * 100
        amount -= 1
        i = str(i)
        i = i.replace("[", "")
        i = i.replace("]", "")
        i = i.replace("'", "")
        i = i.replace(" ", "")
        i = i.replace(",", "")
        i = i.replace("(", "")
        i = i.replace(")", "")
        f.write(i)
        f.write('\n')
        print "Password: %r\tPercentage: %r/100\tAmount left: %r" % (i, int(percentage), amount)
        if i == '0'* range_num:
            print "*Done"
            f.close()
            exit(0)
        else:
            pass

您可以尝试这样的操作,但效率不高:

def all_combinations_with_len(lst,min_len,max_len):
    for i in xrange(min_len,max_len+1):
         for j in list(itertools.product(*([lst]*i))):
            yield j

然后您可以使用:

list(all_combinations_with_len(['a','b','c'],2,5))

[('a','a','b'),('a','c'),('b','a'),('b','b'),('b','c'),('c','a'),('c','b'),('c','c'),('a','a','a'),('a','c'),('a','b','a'),('a','b','b'),('a','b','c'),('a','c','a'),('c','b'),('a','c'),('c','c'),('a','a','a','b','b'),('b','a'),'b','b','a'),('b','b','b','a','b'),'b','b',‘b’,(‘b’,‘b’,‘c’,‘a’,(‘b’,‘c’,‘b’,(‘b’,‘c’,‘c’,‘c’,(‘c’,‘a’,‘a’,‘b’,(‘c’,‘b’,‘a’,(‘c’,‘b’,(‘c’,‘c’,‘c’,‘b’,(‘c’,‘c’,‘b’,(‘c’,‘c’,‘c’,‘a’,‘a’,‘a’,‘b’,(‘a’,‘a’,‘c’,‘a’,‘a’,‘a’,‘a’,‘b’,(‘a’,‘a’,‘b’,‘a’,’,‘b’,‘c’,(‘a’,‘a’,‘c’,‘a’,‘c’,‘a’,‘a’,‘a’,‘b’,‘a’,‘a’,‘a’,‘b’,‘a’,‘a’,‘c’,‘a’,‘b’,‘b’,‘a’,‘b’,‘b’,‘b’,‘b’,‘c’,‘a’,‘b’,‘c’,‘a’,‘b’,‘c’,‘a’,‘c’,‘a’,‘c’,‘a’,‘c’,‘a’,‘c’,‘a’,‘a’,‘b’,‘c’,‘a’,‘a’,‘c’,‘b’,‘a’,‘a’,‘c’,‘b’,‘b’,‘a’,‘c’,‘c’,‘a’,‘a’,‘c’,‘b’,‘a’,‘c’,‘c’,‘b’,‘a’,‘a’,‘b’,‘b’,‘a’,‘a’,‘c’,‘b’,‘a’,‘a’,‘b’,‘b’,‘a’,‘b’,‘a’,‘b’,‘c’,‘a’,‘b’,‘a’,‘b’,‘a’,‘b’,‘a’,‘b’,‘a’,‘c’,‘b’,‘b’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘b’,‘a’,‘a’,‘,('b','b','a','b'),('b','b','a','c'),('b','b','b','b','b','b','b','c'),('b','b','c','a'),('b','b','c','c'),('b','c','c','c'),('b','c','a','b'),('b','c','a','b','c','c'),('b','c','b','b','b','c','b','c','c','a'),('b','c','c','c','c',‘b’,(‘b’,‘c’,‘c’,(‘c’,‘a’,‘a’,‘a’,‘b’,(‘c’,‘a’,‘a’,‘c’,(‘c’,‘a’,‘b’,‘a’,(‘c’,‘a’,‘b’,(‘c’,‘a’,‘a’,‘c’,‘b’,(‘c’,‘a’,‘c’,‘c’,‘b’,‘a’,(‘c’,‘b’,‘a’,(‘c’,‘b’,‘b’,‘a’,(‘c’,‘b’,‘c’,‘b’,‘b’,(‘c’,‘b’,‘b’,‘c’,‘b’,‘b’,‘b’,‘b’,‘c’,‘b’,‘b’,‘,‘b’,‘c’,(‘c’,‘b’,‘c’,‘a’,‘c’,‘b’,‘c’,‘c’,‘c’,‘c’,‘a’,‘c’,‘c’,‘a’,‘b’,‘c’,‘c’,‘c’,‘b’,‘a’,‘c’,‘c’,‘c’,‘c’,‘c’,‘a’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘a’,‘a’,‘a’,‘a’,‘a’,‘a’,‘b’,‘a’,‘a’,‘a’,‘a’,‘a’,‘c’,(‘a’,‘a’,‘a’,‘b’,‘a’,‘a’,‘b’,‘a’,‘a’,‘a’,‘b’,‘c’,‘a’,‘a’,‘a’,‘a’,‘c’,‘a’,‘a’,‘a’,‘b’,‘a’,‘a’,‘b’,‘b’,‘a’,‘a’,‘a’,‘a’,‘b’,‘c’,‘a’,‘a’,‘a’,‘b’,‘a’,‘a’,‘b’,‘b’,‘a’,‘a’,‘a’,‘a’,‘b’,‘a’,‘a’,‘b’,‘b’,‘b’,‘a’,‘a’,‘b’,‘c’,‘a’,‘a’,‘a’,‘b’,‘c’,‘b’,‘a’,‘a’,‘c’,‘a’,‘a’,‘a’,‘c’,‘b’,‘a’,‘a’,‘c’,‘c’,‘a’,‘a’,‘a’,‘c’,‘b’,‘a’,‘a’,‘c’,‘b’,‘c’,‘c’,‘a’,‘a’,‘a’,‘c’,‘c’,‘b’,‘a’,‘a’,‘c’,‘c’,‘a’,‘a’,‘c’,‘c’,‘c’,‘a’,‘a’,‘a’,‘a’,‘b’,‘a’,‘a’,‘b’,‘a’,‘a’,‘a’,‘b’,‘a’,‘a’,‘b’,‘a’,‘b’,‘b’,‘a’,‘b’,‘c’,‘a’,‘b’,‘a’,‘b’,‘a’,‘b’,‘c’,‘b’,‘b’,‘a’,‘a’,‘a’,‘b’,‘b’,‘a’,‘b’,‘b’,‘a’,‘b’,‘a’,‘b’,‘b’,‘a’,‘b’,‘b’,‘b’,‘b’,‘b’,‘a’,‘b’,‘b’,‘b’,‘b’,‘a’,‘b’,‘b’,‘b’,‘a’,‘a’,‘,‘b’,‘b’,‘b’,‘c’,‘a’,‘b’,‘b’,‘c’,‘a’,‘b’,‘b’,‘c’,‘c’,‘a’,‘a’,‘a’,‘b’,‘c’,‘a’,‘b’,‘c’,‘a’,‘a’,‘b’,‘c’,‘b’,‘b’,‘a’,‘b’,‘c’,‘b’,‘c’,‘c’,‘a’,‘a’,‘b’,‘c’,‘c’,‘a’,‘b’,‘b’,‘c’,‘c’,‘a’,‘a’,‘b’,‘c’,‘c’,‘c’,('a','c','a','a','a'),('a','c','a','a','b'),('a','c','a',‘a’,‘c’,(‘a’,‘c’,‘a’,‘b’,‘a’,‘c’,‘b’,‘b’,‘a’,‘c’,‘a’,‘c’,‘a’,‘a’,‘c’,‘b’,‘a’,‘c’,‘c’,‘a’,‘c’,‘b’,‘a’,‘a’,‘c’,‘b’,‘a’,‘c’,‘b’,‘a’,‘c’,‘c’,‘b’,‘a’,‘c’,‘c’,‘b’,‘b’,‘a’,‘a’,‘c’,‘a’,‘c’,‘c’,‘a’,‘c’,‘c’,‘a’,‘c’,‘b’、‘c’、‘a’、(‘a’、‘c’、‘b’、‘c’、‘b’、(‘a’、‘c’、‘c’、‘c’、‘a’、(‘a’、‘c’、‘c’、‘a’、‘c’、‘c’、‘b’、‘a’、(‘a’、‘c’、‘c’、‘b’、‘b’、‘b’、(‘a’、‘c’、‘c’、‘c’、‘c’、‘a’、(‘a’、‘c’、‘c’、‘b’)、(‘a’、‘c’、‘c’、‘c’、‘c’、‘c’、‘c’、‘c’、‘c’、‘a’、‘a’、‘a’、‘a’、‘a’、‘b’,‘a’、‘a’、‘b’、(‘b’、‘a’、‘a’、‘c’、(‘b’、‘a’、‘a’、‘b’、‘a’、‘b’、(‘b’、‘a’、‘a’、‘b’、‘c’、‘a’、‘a’、‘a’、‘c’、(‘b’、‘a’、‘a’、‘c’、‘c’、(‘b’、‘a’、‘b’、‘a’、‘a’、‘b’、‘a’、‘b’、‘c’、(‘b’、‘a’、‘a’、‘b’、‘a’、‘b’、‘b’、‘a’、‘b’、‘b’、‘b’、‘b’、‘a’、‘b’、‘b’、‘b’、‘b’、,('b','a','b','b','c','a','b','c','a'),('b','a','b','c','c'),('b','b','c','c','c'),('b','a','c','a','b'),('b','a','c','a','c','a'),('b','a','c','b','b'),('b','a','c','b','c'),('b','a','c','a'),('b','a','c','a','c',‘c’,(‘b’,‘b’,‘a’,‘a’,(‘b’,‘b’,‘a’,‘a’,‘a’,‘c’,(‘b’,‘b’,‘a’,‘a’,(‘b’,‘b’,‘a’,‘b’,(‘b’,‘b’,‘a’,‘c’,‘a’,‘a’,‘b’,(‘b’,‘b’,‘a’,‘c’,‘c’,(‘b’,‘b’,‘b’,‘a’,‘a’,(‘b’,‘b’,‘b’,‘b’,‘b’,‘b’,‘a’,‘c’,‘b’,‘b’,‘b’,‘b’,‘b’,‘a’,(‘b’,‘b’,‘b’,‘b’,‘b’,‘c’,(‘b’,‘b’,‘b’,‘c’,‘a’,(‘b’,‘b’,‘b’,‘c’,‘c’,‘b’,‘b’,‘c’,‘a’,(‘b’,‘b’,‘c’,‘a’,‘c’,‘b’,‘b’,‘c’,‘a’,(‘b’,‘b’,‘b’,‘c’,‘b’,‘b’,‘b’,‘b’,‘b’,‘c’,‘b’,‘b’,‘b’,‘b’,‘c’,‘c’,‘a’,‘b’,‘b’,‘b’,‘c’,‘c’,‘b’,‘c’,‘c’,‘c’,‘b’,‘c’,‘a’,‘a’,‘a’,‘a’,‘b’,‘c’,‘c’,‘a’,‘c’,‘b’,‘c’,‘a’,‘b’,‘b’,‘b’,‘c’,‘a’,‘c’,‘a’,‘a’,‘b’,‘c’,‘c’,‘c’,‘b’,‘c’,‘c’,‘c’,‘b’,‘c’,‘c’,‘b’,‘c’,‘c’,‘b’,‘b’,‘a’,‘b’,‘a’,‘b’,‘a’,‘b’,‘b’,‘c’,‘b’,‘a’,‘c’,‘b’,‘a’,‘b’,‘c’,‘b’,‘b’,‘b’,‘c’,‘b’,‘c’,‘a’,‘b’,‘c’,‘c’,‘b’,‘b’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘a’,‘a’,‘b’,‘c’,‘c’,‘a’,‘c’,‘c’,‘a’,‘b’,‘c’,‘c’,‘b’,‘b’,‘b’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘b’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c,('b','c','c','c','a','a','a','c','c','b'),('b','c','c','c','c','c'),('c','a','a','a','b'),('c','a','a','a','c'),('c','a','a','b','b'),('c','a','a','b','c'),('c','a','a','a','c','a','b'),('c','a','a','c','a','a','b','a',',‘a’,(‘c’,‘a’,‘b’,‘a’,‘b’,(‘c’,‘a’,‘a’,‘b’,‘b’,‘a’,(‘c’,‘a’,‘b’,‘b’,(‘c’,‘a’,‘b’,‘c’,(‘c’,‘a’,‘b’,‘c’,‘b’,‘c’,(‘c’,‘a’,‘a’,‘c’,‘a’,‘c’,‘a’,‘c’,‘a’,‘c’,‘a’,‘c’,‘a’,‘c’,(‘c’,‘a’,‘c’,‘a’,‘c’,‘c’,‘a’,‘c’,‘c’,‘c’,‘c’,‘b’,‘b’,(‘c’,‘a’,‘c’,‘b’,‘c’,‘a’,‘c’,‘c’,‘b’,‘c’,‘c’,‘a’,‘c’,‘c’,‘b’,‘a’,‘a’,‘b’,‘c’,‘b’,‘a’,‘a’,‘c’,‘b’,‘b’,‘a’,‘c’,‘b’,‘b’,‘b’,‘b’,‘a’,‘c’,‘b’,‘b’,‘c’,‘b’,‘a’,‘c’,‘c’,‘c’,‘b’,‘c’,‘b’,‘c’,‘c’,‘b’,‘b’,‘a’、‘c’、‘b’、‘a’、‘a’、‘c’、‘b’、‘a’、‘b’、‘a’、‘b’、‘a’、‘c’、‘c’、‘b’、‘b’、‘a’、‘c’、‘b’、‘b’、‘b’、‘b’、‘b’、‘b’、‘c’、‘c’、‘b’、‘b’、‘c’“,”a“,”c“,”b“,”c“,”b“,”c“,”c“,”b“,”c“,”a“,”a“,”c“,”b“,”c“,”b“,”c“,”c“,”c“,”c“,”b“,”a“,”c“,”b“,”b“,”c“,”c“,”c“,”c“,”c“,”c“,”a“,”c“,”c“,”b“,”c“,”c“,”b“,”c“,”c“,”c“,”c“,”b“,”c“,”c“,”c“,”c“,”a“,”c“,”c“,”a“,”c“,”c“,”c“,”c“,”c“,‘a’,‘b’,(‘c’,‘c’,‘a’,‘a’,‘c’,‘a’,‘b’,‘a’,‘c’,‘b’,‘b’,‘c’,‘c’,‘c’,‘a’,‘c’,‘c’,‘c’,‘a’,‘b’,‘c’,‘c’,‘a’,‘c’,‘c’,‘b’,‘a’,‘a’,‘c’,‘c’,‘b’,‘b’,‘c’,‘c’,‘c’,‘b’,‘b’,‘c’,‘c’,‘c’,‘c’,‘b’,‘c’,‘b’,‘c’,‘b’,‘b’,‘c’,‘c’,‘b’,‘c’,‘a’,‘c’,‘c’,‘b’,‘c’,‘c’,‘c’,‘c’,‘a’,‘c’,‘c’,‘a’,‘b’,‘c’,‘c’,‘a’,‘c’,‘c’,‘c’,‘b’,‘b’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘a’,‘c’,‘c’,‘c’,‘b’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,‘c’,’

或:

for i in combinations_with_replacement_max_len(full,1,SOME_NUMBER):
    password = ''.join(i)
    compare_password_and_other_stuff(password)

请记住,这不是密码破解的方式,对于一些大的数字,密码的运行时间会很长。你知道吗

相关问题 更多 >

    热门问题