2017-09-29 6 views
0

Ich versuche, eine Funktion in Python zu erstellen, die ein Wörterbuch aus allen Wörtern in einer Datei und ihrer entsprechenden Verschlüsselung (die aus der Funktion encrypt_password folgt) erstellt. Die Funktion gibt keinen Fehler aus, aber das Kennwortwörterbuch wird ebenfalls nicht gedruckt. Wo gehe ich falsch?Warum druckt meine Funktion nichts?

Der Eingang sieht nun wie folgt aus:

import hashlib 

def encrypt_password(passwd): 
    """Encrypt a plaintext password (a string). It returns the result. 
    This encryption is one-way only, meaning it is not easy (impossible) to decrypt 
    the encrypted password to find out the original plaintext password again.""" 
    return hashlib.sha256(passwd.encode()).hexdigest() 

keys = open('words.txt').read().splitlines() 

values = [] 

for i in keys: 

    e = encrypt_password(i) 

    values.append(e) 

password = dict(zip(keys, values)) 

print(password) 

Vielen Dank im Voraus!

+0

du brauchst 'print (Passwörter)' anstelle von 'print (passwort)' – MedAli

+0

Gibt es einen Tippfehler? In Ihrem Code ist kein Passwort enthalten. Sie müssen drucken (Passwörter) – ShreyasG

Antwort

0

Sie haben Variablen Passwörter, Passwort in verschiedenen Schreibweisen. Worauf bezieht sich das Passwort?

+0

Dies sollte ein Kommentar sein –

+0

Ah ja, ich habe gerade gesehen, und ich habe es geändert, aber es druckt immer noch nichts. Passwort ist das Wörterbuch der Wörter aus der Datei und die verschlüsselte Version der Wörter, die ich versuche zu machen – NJR

+0

Vielleicht words.txt ist leer. –

0

Es scheint wie ein Tippfehler: das Passwörter-Wörterbuch heißt zuerst "Passwörter" und das nächste "Passwort". Wahrscheinlich meintest du:

passwords = dict(zip(keys, values)) 

print(passwords)