![]() |
Eindeutiger Vergleich für große Dateien gesucht
Hallo,
ich habe folgendes problem: ich verwende momentan noch den ![]() damit ist dann natürlich nicht mehr verlässlich zu sagen, dass dateien gleich bzw. ungleich sind. ich könnte zwar noch prüfen ob die dateigröße gleich ist um dieses problem zu umgehen, doch halte ich diese lösung nicht für ideal. nun habe ich statt md5 mal ![]() in meinem beispielversuch habe ich die tiger 192 implementierung der ![]() zu meinen fragen: 1.) kennt jemand von euch einen anderen, sprich schnelleren hash-algorytmus kennt, der auch dateien (am besten) größer 4 gb einwandfrei identifizieren kann? am besten wäre eine einzige unit, da ich nicht ein riesen package einbinden möchte. 2.) ist eine geschwindigkeitssteuerung technisch überhaupt umöglich? 3.) bis zu welcher dateigröße genau, identifiziert md5 und tiger eine datei eindeutig? vielen dank für die mühe! |
Re: Hash für große Dateien (MD5/Tiger)
Hallo,
ich verwende für ein ähnliches Problem Sha256. Allerdings denke ich das, falls du beide zu vergleichende Dateien im direkten Zugriff hast, garkeinen HashCode berechnen solltest, sondern einen direkten Binären Vergleich. Der ist dann sehr viel schneller. Gleiche Dateigrösse natürlich vorausgesetzt. mfg wo |
Re: Hash für große Dateien (MD5/Tiger)
Hallo,
erstmal danke für deine antwort! ich habe dazu allerdings noch ein paar fragen: 1.) was meinst du mit direkter zugriff? 2.) wie soll ich mir einen binären vergleich vorstellen? die datei byte für byte überprüfen? 3.) welche sha256 implementierung verwendest du? |
Re: Hash für große Dateien (MD5/Tiger)
Zitat:
Zitat:
Zitat:
DCPcrypt v2.0 written by David Barton (crypto@cityinthesky.co.uk) Um was für Dateien handelt es sich eigenlich? mfg wo |
Re: Hash für große Dateien (MD5/Tiger)
ok, als das mit dem binären vergleich ist jetzt klar. ich werde mal versuchen das umzusetzen.
aber das mit dem direkten zugriff hab ich immer noch nicht verstanden. ich schildere mal grob wie mein programm arbeitet, denke dann wird es evtl. klarer: 1.) es listet sämtliche dateien eines bestimmten verzeichnisses auf. 2.) es werden informationen zu den gefundenen dateien gesammelt (größe, name, verzeichnis name wird extrahiert, usw.). 3.) die dateien werden verglichen, sprich die checksumme erstellt (momentan mit der option entweder nur wenn die dateigröße gleich ist, oder jede datei mit jeder, egal wie groß). 4.) ergebnis wird angezeigt. Zitat:
ps: wenn du dcpcrypt (in deinem programm) benutzt, vergleichst du dennoch die dateien (im selben programm) binär? wahrscheinlich nicht, oder? |
Re: Hash für große Dateien (MD5/Tiger)
Zitat:
Dieses Verfahren hat sich bei zur Zeit ca 30.000 Einträgen als sehr sicher erwiesen. gruss wo |
Re: Hash für große Dateien (MD5/Tiger)
Wie lang darf die Nachrichtengröße bei MD5 sein?
Laut Wikipedia liegt SHA-1 bei 2^64 Bit. 18446744073709551616 Bit 2305843009213693952 Byte 2251799813685248 KB 2199023255552 MB 2147483648 GB (Bei weiteren Zahlen leidet leider meine Vorstellungskraft) Also sollte SHA-1 doch locker reichen, oder :gruebel: Alles ohne Gewähr. (Schreibt man das jetzt nicht seit neustem mit e anstatt ä) |
Re: Hash für große Dateien (MD5/Tiger)
@WoGe:
ok, aber ich denke in meinem fall wäre das dann wohl nicht ideal, da ich jede datei mit jeder vergleichen muss, sprich eine relativ große schleife habe. ich denke da wäre dann ein binärer vergleich wohl doch nicht angebracht. in deinem fall (falls ich das richtig verstanden habe) überprüfst du ja deine datenbank nur auf die _eine_ checksumme der _einen_ neu hinzuzufügenden datei. ich müsste jede checksumme mit allen anderen checksummen vergleichen. ich werde den binären vergleich aber auf jeden fall noch testen (bezüglich der geschwindigkeit). -- @bigg: ähm, wenn die werte stimmen, ist das wohl war. ich kenne zwar sha, ging aber davon aus, dass es eben nicht für solch große dateien geeignet ist. keine ahnung wo ich das gelesen habe. naja, auch das werde ich mal testen. -- also erstmal danke euch beiden für die hilfe. ich melde mich wieder, wenn ich ergebnisse oder probleme habe. danke! |
Re: Hash für große Dateien (MD5/Tiger)
@bigg:
Zitat:
|
Re: Hash für große Dateien (MD5/Tiger)
Zitat:
Zitat:
Die Prüfsummen sind nur vorberechnete Entscheidungen (wenn die Prüfsummen nicht gleich sind, dann können die enthaltenen Daten auch nicht identisch sein - dies lässt aber keinen Umkehrschluss zu). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz