Python Forum
Thread Rating:
  • 1 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Password Guesser Project
#12
For a school project, I'm working on brute force password guesser, but not just any brute force password guesser. The traditional way to make a brute force password guesser is to hard code a bunch of nested for loops:

#!/usr/bin/env python3
#PasswordGuesser.py
import sys

AlphaNum = "abc"
password = "cab"
guessMatches = False
guess = ""

for char1 in AlphaNum:
    guess = char1
    print(guess)
    if(guess == password):
        print("the password is " + guess)
        sys.exit()

for char1 in AlphaNum:
    for char2 in AlphaNum:
        guess = char2 + char1
        print(guess)
        if(guess == password):
            print("the password is " + guess)
            sys.exit()

for char1 in AlphaNum:
    for char2 in AlphaNum:
        for char3 in AlphaNum:
            guess = char3 + char2 + char1
            print(guess)
            if(guess == password):
                print("the password is " + guess)
                sys.exit()

for char1 in AlphaNum:
    for char2 in AlphaNum:
        for char3 in AlphaNum:
            for char4 in AlphaNum:
                guess = char4 + char3 + char2 + char1
                print(guess)
                if(guess == password):
                    print("the password is " + guess)
                    sys.exit()
That code works (test it and see for yourself, so you can see the exact output I want to generate). However, I want to create a brute force password guesser that's recursive, and thus will have the power to generate all possible guesses of any length without the mess of for loops. Here's what I've come up with so far:

AlphaNum = "abc"
password = "cab"
guess = ""
AN_size = AlphaNum[len(AlphaNum)-1]
pastEnd = AlphaNum[len(AlphaNum)]
def passwordGuesser(n, i):#guessList[n], AlphaNum[i]
    #while guess != password:
        guess = ''.join(guessList)#convert guessList back to a string to be tested
        if guess == password:
            print("The password is " + guess)
            sys.exit()
        else:
            guessList = list(guess)#convert from immutable string to changable list
            firstChar = guessList[0]
            lastChar = guessList[-1]
            nextChar = guessList[n+1]
            if guessList[n] <= AN_size and guessList[n] <= lastChar:
                guessList[n] = AlphaNum[i+1]
            elif guessList[n] == pastEnd and guessList[n] > lastChar:
                guessList[0] = AlphaNum[0]
                nextChar = AlphaNum[i+1]
                #Where do I go from here, if guessList is to become
                #more than 2 chars long?
                if lastChar == AN_size:#if last char in guess finally increments to match last char in AlphaNum
                    replaceList.append(AlphaNum[0])#increase list length
                guessList = passwordGuesser(n, i)
That code is untested, since I'm currently hitting a wall as described on lines 22 and 23.

Again, please observe the output from the nested for loop password guesser program carefully, and notice how the chars increment in each generated guess (just like an old car's odometer, the next char on the right points to the next char in AlphaNum each time the char on its left has incremented through every char in AlphaNum).
Reply


Messages In This Thread
Password Guesser Project - by RedSkeleton007 - Oct-22-2017, 05:46 AM
RE: Password Guesser Project - by Lux - Oct-22-2017, 02:55 PM
RE: Password Guesser Project - by RedSkeleton007 - Oct-22-2017, 08:05 PM
RE: Password Guesser Project - by Lux - Oct-22-2017, 09:21 PM
RE: Password Guesser Project - by RedSkeleton007 - Oct-23-2017, 02:10 AM
RE: Password Guesser Project - by Lux - Oct-29-2017, 01:54 AM
RE: Password Guesser Project - by RedSkeleton007 - Nov-01-2017, 05:44 PM
RE: Password Guesser Project - by nilamo - Nov-01-2017, 06:41 PM
RE: Password Guesser Project - by RedSkeleton007 - Nov-13-2017, 03:53 AM
RE: Password Guesser Project - by metulburr - Nov-13-2017, 04:01 AM
RE: Password Guesser Project - by RedSkeleton007 - Nov-13-2017, 05:10 AM
RE: Password Guesser Project - by nilamo - Nov-19-2017, 04:43 PM
RE: Password Guesser Project - by RedSkeleton007 - Nov-20-2017, 07:03 AM
RE: Password Guesser Project - by RedSkeleton007 - Nov-27-2017, 05:33 AM
RE: Password Guesser Project - by nilamo - Nov-27-2017, 06:42 PM
RE: Password Guesser Project - by RedSkeleton007 - Nov-28-2017, 08:58 PM
RE: Password Guesser Project - by nilamo - Nov-29-2017, 07:24 AM
The REAL Password Guesser project! - by RedSkeleton007 - Nov-18-2017, 10:04 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Brute Force Password Guesser 2skywalkers 1 3,220 Oct-05-2018, 08:04 PM
Last Post: ichabod801
  Brute Force Pad Lock Guesser RedSkeleton007 4 4,005 Mar-03-2018, 07:42 AM
Last Post: RedSkeleton007
  Speeding up Brute force password guesser Gamervote 5 6,920 Jul-20-2017, 02:52 PM
Last Post: nilamo
  Password Hacker Science Project BenjC 2 4,977 Apr-17-2017, 07:36 PM
Last Post: volcano63

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020