Benutzer mit den meisten Antworten
MD5-Hash von Dateien innerhalb einer Zip

Frage
-
Hallo!
Es ist ja möglich, mit der DotNetZip-Library von einzelnen Dateien innerhalb einer Zip einen Hashcode erstellen zu lassen! Nun ist das Problem, dass diese leider manchmal gleich, bei verschiedenen Dateien sind. Weiß jemand, wie ich also von den Dateien innerhalb der Zip MD5-Hashcodes erstellen lassen kann, ohne es vorher zu entpacken? Die MD5-Hashcodes sind nie gleich (bis jetzt) gewesen.
nivel98
Antworten
-
Es reicht auch aus die Zip-Datei über den Explorer in ein anderes Verzeichniss zu verschieben und dann wieder zurück zu verschieben in das alte Verzeichniss. Nach dieser Aktion sind die Hashcodes auch wieder anders.
Das dürfte nicht sein.Da muss was am Algorithmuss Falsch sein, denn diesen UInteressieren Dateinamen nicht, wäre ja auch sinnlos.
http://de.wikipedia.org/wiki/Message-Digest_Algorithm_5#PseudocodeDa muss etwas am Algorithmus falsch sein.
An deiner Stelle würde ich mal versuchen die Dateien zu entpacken und zu vergleichen, da sollten dann endlich die selben Werte heraus kommen.
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
- Als Antwort markiert DerNivel Sonntag, 6. Januar 2013 12:05
-
Soooooooooo...
Ich melde mich ein letztes Mal zurück! Ich habe nochmal einen Test gemacht! Die Datei, wo die Daten immer falsch erschienen, war ein JAR-File! Es reichte, ohne was an der Datei zu verändern, die Hashcodes zweimal hintereinander erstellen zu lassen und schon waren die Codes verschieden. Dies allerdings nur bei JAR-Dateien. Weil mein Programm das aber mit JAR- und ZIP-Files können muss, habe ich die Methode gewählt, die Dateien manuell zu entpacken und dann einen MD5-Hashcode erstellen zu lassen. Diese variieren nicht, wenn es eine JAR-File ist. Hier nochmal die Hashcodes von der JAR-File, direkt hintereinander mit 2 Sekunden Abstand erstellt.
1.
33156464 15645912 32977404 7588182 5923895 65248697 50510248 58368655 9343812 17818390 63630067 44780731 1867017 16906910 22613453 10972427 23997172 6130944 7457061 23469 1056119 47525358 58266349 4740050 11975680 2034711 24453140 26649514 58377472 9740586 35673226 61791333 29146600 36528601 33174335 16450100 2056998 25456083 4673059 8961093 596012 26820551 66074150 20546761 52189032 66805095 53439288 55957744 35070540 34670434 16665673 11757802 59339078 53012840 36767561 43927528 30581704 33999400 53578024 62200856 47575104 60504916 38366678 48778923 47567903 60180891 23785539 63716305 48661462 42282156 23648863 57565882 40327891 2815801 59602202 64853398 32721800 63194865 25196644 60107158 20467555 48624771 40631084 16459496 2479830 44483489 55599972 18970813 48380239 29627130 58152443 66723141 49751359 24218685 16099041 53368240 52760599 25416732 2902278 63493679 38643269 61225542 3685978 31651312 15022907 4942186 21071821 8707876 56310119 50927418 10032463 48807675 48861755 51295333 26588624 55637413 20655653 57089179 18876224 44123731 39410839 28657291 14509711 48957235 55591935 18609127 32104365 35410294 49959374 33579358 34676106 16920908 23243381 39319199 24533526 30266853 19831138 19986012 26955329 5030257 25035015 52833860 28713467 17037601 28494546 7186182 54942771 56505635 59725621 3298388 14209755 35459240 52161950 65586397 65706722 4012512 46345342 5165648 31127608 58565115 18184518 12996959 47992269 12168490 10711140 12239289 13897105 21389979 23024970 29490701 52013172 58891391 32866918 2616333 50626150 63584262 42719530 43330664 3722839 33310048 22557188 8440526 44279351 46413758 8244326 35450350 51761910 47584590 60931774 57575290 40751236 21866305 44459645 54527009 37796305 23112135 33413140 27196306 15874253 43252752 216817 9756799 36402792 27512908 30121350 13283479 60885650 55499692 14458177 46638217 18345018 20219486 37461652 8052743 26829138 66460563 37935341 29368768 46526153 13302139 61725373 26178403 37177487 62374214 55376245
2.
45653674 41149443 39785641 45523402 35287174 44419000 52697953 22597652 10261382 59109011 42659827 40644060 17043416 28756230 18961937 47980820 11653293 54636159 42708074 42815147 47633461 63130991 22322349 64981649 38493088 54467399 35113868 36620214 37296927 640117 28805302 21170186 13134304 54172779 21855962 43994237 33583636 34868631 25584554 10454271 680171 30607723 35170261 39157888 17274517 39155797 17180427 34921712 27973187 50833863 5822459 60684095 46429731 8963119 687191 30923613 49385318 7746814 13062350 50934842 10366524 63840421 54246671 25181126 59408853 56152722 43844556 26847985 199777 8990007 1897140 18262443 16503569 4463106 66622070 45203171 20876819 67041637 64083652 65192075 47962264 10818254 17059405 29475730 51339472 28574894 10801856 16321512 63379435 33502326 31209679 62258301 50160154 42614420 38600745 59311937 51791499 48916090 53740413 2399524 40869743 27199126 16001149 48963094 55855606 30474330 29167576 37472519 8541776 48835636 50119998 40807399 24393646 23972246 5009246 24089510 10286142 60223214 25690090 15203380 13063473 50985389 12641169 31981697 29890231 2883140 62632450 66996861 62068736 41629729 61398511 11469592 46369596 6257078 13133063 54116930 19342748 65117297 44597241 60718826 47992654 12185796 11489911 47283970 47403907 52801053 27237168 17713017 58888299 32727789 63464403 37325887 1943350 20341925 42971410 54665284 44018709 34684851 17314460 40953208 30955062 50800521 4322080 60275915 28061642 54814357 50726992 1013293 45598209 38653513 61686491 24428686 25549067 8857363 63037041 18094558 8948761 41061 1847745 16039693 50697561 66797741 53108349 41065483 36007420 9721180 34799956 22494152 5603890 50848483 6480373 23181364 36528427 33166512 16098066 53324351 50785559 3648821 29979226 6887897 41519911 56456672 57522300 38366705 48780169 47623971 62703914 3103865 5456238 44204140 43029267 57268832 26960646 5269548 35803110 527254 23726465 61058004 63255637 27931403 48953616 55429074 11280399 37855919 25794785
Nochmal vielen Dank für die Mühe!- Als Antwort markiert DerNivel Sonntag, 6. Januar 2013 12:05
Alle Antworten
-
Hallo,
wenn die DotNetZip-Lib anscheinend Falsche Sachen zurück liefert wäre das schon etwas schlecht. Zur reinen Theorie, ein Hascode wird i.d.R. so ermittelt das die Bytes der Datei untersucht werden. Ein guter Code sorgt dafür, das gleiche Codes so gut wie nie vorkommen, es sei denn die Dateien sind gleich. Wenn du nun also von einem ZIP-Archiv den Hashcode einer enthaltenen Datei haben willst musst du an die Bytes heran kommen. Da ZIP auch komprimiert sein kann, ist es leider nicht möglich einfach die Bytes auszulesen, man muss Sie also zuerst entpacken.
Bist du dir denn wirklich sicher, das die die Bibliothek falsche ergebnisse liefert? Vielleicht hast du ja gerade mal so einen Fall erwischt, bei dem es zu gleichen Hashcodes kommt. Wenn wirklich ein Problem vorliegt kannst ja mal den/die Programmierer anschreiben und nachfragen ob da Fehler bekannt sind.
Ich bin mir ziehmlich sicher, das im Code der DotNetZip-Lib auch nur die Datei in den Arbeitsspeicher geladen wird um anschließend die Hashcode zu ermitteln. Ohne die Datei zu haben kann man schließlich auch nichts von der Datei ermitteln.
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
-
Funktioniert jetzt erstmal!
Aus irgendeinem Grund waren ein paar Hashcodes in meiner Datenbank zusätzlich bei der anderen Datei eingetragen *facepalm*. Ich dachte nur an eine Fehlfunktion, weil ich schon mehrmals die Codes eingetragen hatte und mich wunderte, warum es immer falsch war. Wenn die Fehler wieder auftreten melde ich mich vielleicht nochmal.
nivel98
EDIT: Ich lasse die Zip-Dateien von meinem Programm erstellen und dann die Hashcodes mit denen aus meiner Datenbank abgleichen. Nun sind leider, wenn das Programm mit den gleichen Dateien wie vorher die Zip-Datei erstellt, die Hashcodes andere. Aber warum? Die Dateien sind ja die gleichen.
EDIT 2: Es reicht auch aus die Zip-Datei über den Explorer in ein anderes Verzeichniss zu verschieben und dann wieder zurück zu verschieben in das alte Verzeichniss. Nach dieser Aktion sind die Hashcodes auch wieder anders. Soll ich es versuchen die Dateien entpacken zu lassen und dann von den entpackten Dateien die Hashcodes erstellen?- Bearbeitet DerNivel Freitag, 4. Januar 2013 11:21 Edit 2
-
Es reicht auch aus die Zip-Datei über den Explorer in ein anderes Verzeichniss zu verschieben und dann wieder zurück zu verschieben in das alte Verzeichniss. Nach dieser Aktion sind die Hashcodes auch wieder anders.
Das dürfte nicht sein.Da muss was am Algorithmuss Falsch sein, denn diesen UInteressieren Dateinamen nicht, wäre ja auch sinnlos.
http://de.wikipedia.org/wiki/Message-Digest_Algorithm_5#PseudocodeDa muss etwas am Algorithmus falsch sein.
An deiner Stelle würde ich mal versuchen die Dateien zu entpacken und zu vergleichen, da sollten dann endlich die selben Werte heraus kommen.
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
- Als Antwort markiert DerNivel Sonntag, 6. Januar 2013 12:05
-
Soooooooooo...
Ich melde mich ein letztes Mal zurück! Ich habe nochmal einen Test gemacht! Die Datei, wo die Daten immer falsch erschienen, war ein JAR-File! Es reichte, ohne was an der Datei zu verändern, die Hashcodes zweimal hintereinander erstellen zu lassen und schon waren die Codes verschieden. Dies allerdings nur bei JAR-Dateien. Weil mein Programm das aber mit JAR- und ZIP-Files können muss, habe ich die Methode gewählt, die Dateien manuell zu entpacken und dann einen MD5-Hashcode erstellen zu lassen. Diese variieren nicht, wenn es eine JAR-File ist. Hier nochmal die Hashcodes von der JAR-File, direkt hintereinander mit 2 Sekunden Abstand erstellt.
1.
33156464 15645912 32977404 7588182 5923895 65248697 50510248 58368655 9343812 17818390 63630067 44780731 1867017 16906910 22613453 10972427 23997172 6130944 7457061 23469 1056119 47525358 58266349 4740050 11975680 2034711 24453140 26649514 58377472 9740586 35673226 61791333 29146600 36528601 33174335 16450100 2056998 25456083 4673059 8961093 596012 26820551 66074150 20546761 52189032 66805095 53439288 55957744 35070540 34670434 16665673 11757802 59339078 53012840 36767561 43927528 30581704 33999400 53578024 62200856 47575104 60504916 38366678 48778923 47567903 60180891 23785539 63716305 48661462 42282156 23648863 57565882 40327891 2815801 59602202 64853398 32721800 63194865 25196644 60107158 20467555 48624771 40631084 16459496 2479830 44483489 55599972 18970813 48380239 29627130 58152443 66723141 49751359 24218685 16099041 53368240 52760599 25416732 2902278 63493679 38643269 61225542 3685978 31651312 15022907 4942186 21071821 8707876 56310119 50927418 10032463 48807675 48861755 51295333 26588624 55637413 20655653 57089179 18876224 44123731 39410839 28657291 14509711 48957235 55591935 18609127 32104365 35410294 49959374 33579358 34676106 16920908 23243381 39319199 24533526 30266853 19831138 19986012 26955329 5030257 25035015 52833860 28713467 17037601 28494546 7186182 54942771 56505635 59725621 3298388 14209755 35459240 52161950 65586397 65706722 4012512 46345342 5165648 31127608 58565115 18184518 12996959 47992269 12168490 10711140 12239289 13897105 21389979 23024970 29490701 52013172 58891391 32866918 2616333 50626150 63584262 42719530 43330664 3722839 33310048 22557188 8440526 44279351 46413758 8244326 35450350 51761910 47584590 60931774 57575290 40751236 21866305 44459645 54527009 37796305 23112135 33413140 27196306 15874253 43252752 216817 9756799 36402792 27512908 30121350 13283479 60885650 55499692 14458177 46638217 18345018 20219486 37461652 8052743 26829138 66460563 37935341 29368768 46526153 13302139 61725373 26178403 37177487 62374214 55376245
2.
45653674 41149443 39785641 45523402 35287174 44419000 52697953 22597652 10261382 59109011 42659827 40644060 17043416 28756230 18961937 47980820 11653293 54636159 42708074 42815147 47633461 63130991 22322349 64981649 38493088 54467399 35113868 36620214 37296927 640117 28805302 21170186 13134304 54172779 21855962 43994237 33583636 34868631 25584554 10454271 680171 30607723 35170261 39157888 17274517 39155797 17180427 34921712 27973187 50833863 5822459 60684095 46429731 8963119 687191 30923613 49385318 7746814 13062350 50934842 10366524 63840421 54246671 25181126 59408853 56152722 43844556 26847985 199777 8990007 1897140 18262443 16503569 4463106 66622070 45203171 20876819 67041637 64083652 65192075 47962264 10818254 17059405 29475730 51339472 28574894 10801856 16321512 63379435 33502326 31209679 62258301 50160154 42614420 38600745 59311937 51791499 48916090 53740413 2399524 40869743 27199126 16001149 48963094 55855606 30474330 29167576 37472519 8541776 48835636 50119998 40807399 24393646 23972246 5009246 24089510 10286142 60223214 25690090 15203380 13063473 50985389 12641169 31981697 29890231 2883140 62632450 66996861 62068736 41629729 61398511 11469592 46369596 6257078 13133063 54116930 19342748 65117297 44597241 60718826 47992654 12185796 11489911 47283970 47403907 52801053 27237168 17713017 58888299 32727789 63464403 37325887 1943350 20341925 42971410 54665284 44018709 34684851 17314460 40953208 30955062 50800521 4322080 60275915 28061642 54814357 50726992 1013293 45598209 38653513 61686491 24428686 25549067 8857363 63037041 18094558 8948761 41061 1847745 16039693 50697561 66797741 53108349 41065483 36007420 9721180 34799956 22494152 5603890 50848483 6480373 23181364 36528427 33166512 16098066 53324351 50785559 3648821 29979226 6887897 41519911 56456672 57522300 38366705 48780169 47623971 62703914 3103865 5456238 44204140 43029267 57268832 26960646 5269548 35803110 527254 23726465 61058004 63255637 27931403 48953616 55429074 11280399 37855919 25794785
Nochmal vielen Dank für die Mühe!- Als Antwort markiert DerNivel Sonntag, 6. Januar 2013 12:05