2017-06-08 2 views
-2

Angenommen und "baba" ist Ihre PIN und Ihr Passwort.Lösung Brute-Force-Algorithmus ohne itertools-Funktion

Schreiben Sie zwei verschiedene Funktionen, die Schleifen so lange erhalten, bis sie den Pin bzw. das Passwort erhalten.

Ich schaffte es etwas mit der itertools Funktion zu schreiben, aber mein Tutor sagte, ich solle es nicht benutzen und ich sollte einen anderen Weg suchen, ich habe erst seit zwei Wochen programmiert, also ist mein Verständnis von Python nicht weit und würde wirklich einen Rat zu schätzen wissen. Es tut mir wirklich leid, wie unordentlich meine Frage ist, das ist das erste Mal, dass ich das benutze.

import itertools 
    import string 

    for guess in itertools.product(string.lowercase, repeat=6): 
     if checkguess(''.join(guess)): 
     print("Password is: {0}".format(''.join(guess))) 
+1

Können Sie hinzufügen, was Sie innerhalb 'iwertools' Modul versucht haben? –

+1

Wenn Sie * die * PIN und das Passwort * erhalten haben, warum müssen Sie eine Schleife machen? Die Problembeschreibung ist noch nicht klar. Veröffentlichen Sie auch Ihren besten Versuch bis jetzt - Sie haben uns * keinen * Code gegeben, und es scheint, dass Sie nicht versucht haben, dieses Problem selbst zu lösen. – Prune

+0

Das einfache Ersetzen der 'itertools'-Routinen sollte nicht das Problem sein: Diese Algorithmen werden leicht in der Browser-Suche gefunden, die * Sie * vor dem Posten durchgeführt haben sollten. – Prune

Antwort

0

Sie for-loop können verschiedene Kombinationen und finden Sie die PIN oder ein Passwort, um zu versuchen, dies ist ein Beispiel für die PIN:

pin = 1211 
rng = int(len(str(pin)) * str(9)) 
for i in xrange(rng): 
    if i == pin: 
     print('pin is: {}'.format(i)) 
     break 

Sie damit beginnen und versuchen, herauszufinden, wie zu tun der Rest :)

+0

Danke, ich denke, ich weiß genau, was ich jetzt tun soll. –

+0

@ Simi.i Vergessen Sie nicht, die Antwort zu akzeptieren, wenn Sie es nützlich finden =) –

Verwandte Themen