Hallo, ich versuche, eine Funktion hack() schreiben, die keine Argumente und einen Iterator über alle möglichen Passwörter zurückgibt.Erstellen eines Iterators zu Brute-Force
Grundsätzlich muss ich einen Iterator verwenden, um ein Passwort brutal zu erzwingen. Alles, was ich von der Frage weiß ist:
- Das Passwort besteht aus drei Segmenten.
- Das erste Segment des Passworts ist eine Verkettung von zwei Worten in der folgenden Liste von Worten: [ „Hallo“, „Weg mit dir“, „Hund“, „MrCool“]
- Das mittlere Segment ist „Donkey20“
- und das letzte Segment besteht aus zwei Ziffern, die zusammen (dh 1 und 7 = 17), sind nicht größer als 38 (und zumindest 0)
ist Mein Verfahren Denk diesen:
- Finden Sie alle möglichen Kombinationen von POSSIBLE_WORDS mit Permutati ons(). (Finden Sie alle Möglichkeiten des Segments 1)
Fügen Sie für jede Kombination in der neuen Liste "Donkey20" am Ende hinzu. (Beispiel: helloBEGONEDonkey20)
Hier finden Sie alle möglichen Kombinationen zwischen den Elementen in der THAT-Liste und POSSIBLE_NUMBERS.
Eine Iterator, iteriert über alle diese möglichen Passwörter und schicken Sie es
nur Mein aktueller Code ist in der Lage 2 zu tun Schritt, aber statt Donkey20 am Ende jeder Kombination ist an ihm ist der Anfang. (Z Donkey20helloBEGONE statt helloBEGONEDonkey20)
POSSIBLE_WORDS = ["hello", "BEGONE", "dog", "MrCool"]
MIDDLE = "Donkey20"
possible_numbers1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
possible_numbers2 = [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]
possible_numbers3 = [29, 30, 31, 32, 33, 34, 35, 36, 37, 38]
POSSIBLE_NUMBERS = possible_numbers1 + possible_numbers2 + possible_numbers3
from itertools import permutations, combinations
def hack():
first_words = [''.join(word) for word in permutations(POSSIBLE_WORDS, 2)]
first_words.append(MIDDLE)
first_half = [''.join(word) for word in permutations(first_words, 2)]
Jede Art und Weise, dieses Problem zu beheben? Wie beende ich den Rest der Schritte? Gibt es einen anderen Ansatz, um dieses Programm zu programmieren?
Jede Hilfe würde sehr geschätzt werden!
Vielen Dank für diese Hinweise, ich war in der Tat in der Lage, den Rest auf eigene Faust zu vervollständigen! –