Datei Hashing
-
Hallo,
Ich suche nach einer Möglichkeit, einen Hash (MD5, SHA1) für eine komplette Datei anzulegen. Die Größe der Datei soll dabei keine Rolle spielen.
Ich habe schon im Internet danach gesucht, aber die dort angebotenen Möglichkeiten kopierten zuerst den kompletten Inhalt der Datei in den Arbeitsspeicher und erstellten dann aus dem Speicher den Hash.
Dies möchte ich wenn möglich umgehen (eventuell mit Streams?!)Gibts sowas in der WinAPI oder kennt irgendjemand eine Bibliothek, die diese Arbeit für mich erledigen würde?
SALOMON
-
Im .net-framework gibt es das

http://technet.microsoft.com/de-de/library/system.security.cryptography.sha1.computehash.aspx
http://technet.microsoft.com/de-de/library/system.security.cryptography.md5.computehash.aspx
-
hm .NET ist schlecht... damit arbeite ich nicht und ich will damit momentan auch eigentlich nicht anfangen

Also ich suche nach Möglichkeiten mit "reinem" C++ oder WinAPI...
Trotzdem Danke

SALOMON
-
-
Tolles Programm mit einem Haufen Hash-Algorithmen:
http://rehash.sourceforge.net/
Die Datei, die dich interessieren dürfte, ist, denke ich mal, die hashmgr.cpp.
Benutzt wird afaik ein 16KB-Buffer, in den die Dateien häppchenweise eingelesen werden. Alles direkt Bit für Bit zu lesen und gleich zu hashen dürfte wohl sehr unperformant sein

mfg
-
joa danke leute, da muss ich mich gez erst einmal einarbeiten!

gruß,
SALOMON
-
In der Crypto++ sind auch etliche Hash-Algorithmen implementiert, darunter MD5.
Allesamt lassen sich so verwenden dass man die Daten "Stück für Stück" einliest und der Hash-Funktion füttert, und dann zum Schluss den fertigen Hashwert rausholt.