Hi, I'm new to python and was wondering how I could speed up my brute force password guesser. I just started python this summer so sorry if it isn't very python-ish
Here's my code:
Here's my code:
#imports (im not insulting your inteligence, im just new. :) ) import string, time #sets printables var = 3 if var == 1: printable = list(string.printable) for i in range(5): del printable[-1] elif var == 2: printable = list(str(string.ascii_uppercase + string.ascii_lowercase)) elif var == 3: printable = list(string.ascii_lowercase) #variable assignment password = raw_input("What is the password? -> ") guess = [printable[0]] place = 0 limit = 8 correct = False #sees if the current guess is correct, returns true if so def ispass(): if "".join(guess) == password: return True else: return False #reverts all elements of guess list to first element of printables def zitup(): for i in range(len(guess)): guess[i] = printable[0] guess.append(printable[0]) #moves inncorrect guess to the next string def next(): if guess[place] == printable[-1]: guess[place] = printable[0] else: try: guess[place] = printable[printable.index(guess[place])+1] except ValueError: print(guess, place) #if ispass() returns false detects if all elements of guess are the last element of printable, if so exicutes zitup(), else sets the next non last element of printables to the next possible element while len(guess) < limit: correct = ispass() if correct: break else: place = len(guess)-1 while guess[place] == printable[-1] and place > -1: guess[place] = printable[0] place += -1 if place < 0: zitup() print("Char added") else: next() #prints correct guess, or incorrect if len(guess) exceded limit print("The password is: " + "".join(guess))