ifread.read() Fehler bei Zeilenumbrüchen
-
Hi,
ich will mir eine eine MD5-Hashwert von einem File erzeugen soweit alles ok aber nach dem Test eines Referenzprogramms bin ich zu dem Ergebniss gekomme das ich die falschen häschwerte erhalte. Ich habe das dann mit einem Textfile probiert herrauszufinden an was es liegt und habe bemerkt das sobald ich einen Zeilenumbruch geschrieben habe sich die Hashwerte sich nicht mehr gleichen.Hier mal meine Functionen:
1.void MD5::update(ifstream& stream){ unsigned char buffer[1024]; int len; while (stream.good()){ stream.read(buffer, 1024); // note that return value of read is unusable. len=stream.gcount(); update(buffer, len); } }
char * MD5::MD5_file (char *filename){ ifstream file(filename); if (file){ update (file); finalize(); return hex_digest(); } return 0; }
Danke euch schon mal fuer die Hilfe.
mfg
wdsl
-
Versuchs mal mit
ifstream file(filename,ios::binary);
-
Hi,
super vielen Dank hat auf Anhieb geklapped.mfg
wdsl