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))
