2017-02-19 4 views
-1

Hallo Welt, ich bin wirklich neu mit Hashlib und ich versuche, ein Programm zu machen, das alle meine Dateien in einem Verzeichnis macht und dann alle MD5-Hash-Codes. Ich arbeite seit ein paar Stunden damit und es nervt mich wirklich, dass ich das nicht herausfinden kann. Hier ist, was ich bisher für Code habe.MD5 Hashing alle Dateien in einem Verzeichnis

Wenn jemand mir helfen würde, wäre das großartig. Danke im Voraus.

+1

Sind die Anzahl der Leerzeichen in Ihrem geposteten Code korrekt? Was ist das Problem mit Ihrem aktuellen Code? Haben Sie versucht, einzelne Dateien zu hacken? – osgx

+0

der Code funktioniert auf einzelne Dateien, aber ich versuche, alles in den Ordner sofort hash – Tyrell

+0

Im aktuellen Zustand, wird dieser Code erzeugen 'IndentationError' –

Antwort

2

Sie müssen den Dateilese- und Hashcode in den Schleifenkörper verschieben.

import hashlib, os, sys 

for root, dirs,files in os.walk("C:\Users\Matt\AppData\NewFolder", topdown=True): 
    for name in files: 
     #print(os.path.join(root, name)) 
     FileName = (os.path.join(root, name)) 

     hasher = hashlib.md5() 
     with open(str(FileName), 'rb') as afile: 
      buf = afile.read() 
      hasher.update(buf) 
     print(hasher.hexdigest()) 
+0

Oh verdammt, ich dachte nicht, dass es war, danke vielmals – Tyrell

+0

Denken Sie auch daran, dass MD5 an diesem Punkt als schwach angesehen wird, und nicht für irgendetwas Sicherheitsbezogenes verwendet werden sollte. Eine bessere Alternative ist SHA-256. – Scovetta

Verwandte Themen