You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#returns the cartesian product of all replaceable characters
def fullSub(password):
letters = []
#place substitution sets into the letters array
for val in password:
if val in subDict.keys():
letters.append(subDict[val])
else:
letters.append(val)
# return list(product(*letters))
return [''.join(item) for item in product(*letters)]
#returns a list of possible passwords by replacing the first letter with common substitutions and appending numbers and letters to the end. If numbers flag is set then append numbers to end
def basicSub(password, numbers=False):
numCombos = [''.join(p) for n in range(1,5) for p in product(numbersOnly, repeat=n)]
characterList = numCombos if numbers else dummyCharacters