Estou tentando criar um programa Bruteforce que possa gerar senhas com um tamanho x de caracteres. O problema é que eu não consigo desenvolver uma lógica para isso. Veja o meu código abaixo: chars = getAllChars() # Obtém caracteres [A-z 0-9] password = "pato34" # Senha que deverá ser encontrada c1, c2, c3, c4, c5, c6 = "", "", "", "", "", "" def checks(*chars, show = True): global password string = "" for char in chars: string += char if show: print(string) if string == password: return True def bruteForce(): global c1,c2,c3,c4,c5,c6 for c1 in chars: if checks(*getChars()): return getChars() for c2 in chars: if checks(*getChars()): return getChars() for c3 in chars: if checks(*getChars()): return getChars() for c4 in chars: if checks(*getChars()): return getChars() for c5 in chars: if checks(*getChars()): return getChars() for c6 in chars: if checks(*getChars()): return getChars() def getChars(): return c1, c2, c3, c4, c5, c6 print(bruteForce()) Esse código basicamente tenta todas as combinações possíveis com todas as letras e números até achar uma senha de 6 dígitos. O problema é que se eu quiser fazer um Bruteforce para senhas de 20 dígitos, eu deveria escrever 20 blocos for. Dá para reduzir isso de forma que não precise escrever mais linhas de código para um tamanho maior de senha ? Continue reading...