[gelöst] Hashing einer Binary/Text Datei

Alles rund um die Programmierung mit Qt
Antworten
Arbaal
Beiträge: 3
Registriert: 4. September 2006 19:54

[gelöst] Hashing einer Binary/Text Datei

Beitrag von Arbaal »

Guten Abend,

Ich sitze derzeit an einen schwerwiegenden Problem. Ich habe ein Programm geschrieben, welches von einer Datei eine Prüfsumme errechnet. Leider ist es nur in der Lage Textdatein (egal welcher größe) richtig zu hashen. Binärdatein werden falsch gehashed. Ich füge einen Link zum Quelltext an und zeige den relewanten Teil zum Auslesen der Datei:
http://yutsu.de/qanidb.tar.gz

Code: Alles auswählen

	
QByteArray buff = file.read( len-pos );
unsigned char* data = (unsigned char*) buff.data();
MD4Update(&context,(unsigned char*)data,strlen((const char*)data));
Weiß vielleicht jemand die Ursache des Problems?

MFG
Nils Hasenbanck
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Hashing einer Binary/Text Datei

Beitrag von Christian81 »

Arbaal hat geschrieben: Weiß vielleicht jemand die Ursache des Problems?
Ja:

Code: Alles auswählen

strlen((const char*)data)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Arbaal
Beiträge: 3
Registriert: 4. September 2006 19:54

Beitrag von Arbaal »

Vielen Dank! Manchmal sieht man den Wald voller Bäume nicht mehr ....

Code: Alles auswählen

pos = len-pos;
QByteArray buff = file.read( pos );
unsigned char* data = (unsigned char*) buff.data();
MD4Update(&context,(unsigned char*)data,pos);
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Besser: buff.size()
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Arbaal
Beiträge: 3
Registriert: 4. September 2006 19:54

Beitrag von Arbaal »

In beiden Anwendungsfällen weiß ich jedoch wie große der auszulesende Bereich ist. Einmal ist es die Buffer größe und das andere mal der Rest. Jedesmal die buffer.size() auszulesen erscheint mir hier unnötig.
Antworten