Einfacher Vergleich von MD5-hashes von allen Dateien in einem Ordner (inkl. Unterordner)

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ThuCommix.

    Einfacher Vergleich von MD5-hashes von allen Dateien in einem Ordner (inkl. Unterordner)

    Guten Abend vbParadie-Gemeinde.

    Ich wollte mal grade einen einfachen, vernünftigen Updater machen, der unter anderem auch alle Dateien aus einem Verzeichnis bzw. auch die Dateien aus Unterverzeichnissen auf den MD5-Hash überprüft.

    (Es geht einfach nur um die Theorie)

    Ich habe zuallererst eine Funktion, die den MD5-Hash von einer einzelnen Datei prüft, der über den MD5CryptoServiceProvider aus dem System.Security.Cryptography-Namespace die man ganz einfach mit

    VB.NET-Quellcode

    1. MD5Hash(Pfad)
    verwendet, darauf möchte ich aber grade gar nicht eingehen ^^

    Mir geht es eher darum, wie ich die abgleichen soll. Alles aus einer Datenbank lesen? Finde ich nicht so dolle, da mein Server eventuell dadurch starke leistungseinbußen erleidet. Daher habe ich mich für eine Textdatei entschieden, wie in guten alten DOS-Zeiten, wo immer der Dateiname und danach der Hash angegeben wird.

    Quellcode

    1. Mainprogramm.exe = A19A2658BA69030C6AC9D11FD7D7E3C1


    Das ganze habe ich dann in eine For each-Schleife gepackt und mir nun alle Hashes in ein Textdokument schreiben lassen. Das Textdokument habe ich nun auf meinen vServer gepackt und von dort lädt der Updater das jedes mal herunter und geht dann Zeile für Zeile das Textdokument herunter und prüft die Hashes mit denen aus dem Dokument. Die Dateien, die abweichen werden erneut heruntergeladen.

    Ich finde diese Methode persönlich irgendwie, nunja... Nicht grade prickelnd, ist sehr unordentlich.

    Daher wollte ich fragen, wie ihr das gelöst habt oder es lösen würdet :P
    Hm, das einzige was jetzt unprickelnt wär, ist ja die Textverarbeitung des Dokuments, da ließe sich vielleicht abhilfe schaffen indem du XML benutzt und mit einen XMLReader drüber gehst. Ansonsten würde ich dir zur DB und PHP raten (welches auch eine XML Datei ausgibt) - Das finde ich irgendwie schöner.