Forum: Software-Projekte der Mitglieder
by ichbins,
22. Dez 2005
wobei natürlich die Wahrscheinlichkeit dass es jetzt noch abweicht seeeeehr gering ist. WinRAR benutzt z.B. Hashes auch zur Archivüberprüfung.
Forum: Software-Projekte der Mitglieder
by ichbins,
22. Dez 2005
Du darfst nicht nur mit dem Hash überprüfen und dann schon behaupten die Dateien wären identisch!!!!
Wenn der Hash identisch ist, dann sind die Dateien HÖCHSTWAHRSCHEINLICH identisch (1: 2^128), aber eben nur höchstwahrscheinlich. Du musst sie also noch weiter überprüfen.
Forum: Software-Projekte der Mitglieder
by ichbins,
21. Dez 2005
Wir haben uns noch nicht geeinigt ;)
werden es wohl auch nie tun :twisted:
aber in version 1.1 kommt die Meldung mit dem Fehlerreport immer noch, obwohl es ihn nicht mehr gibt :gruebel:
Forum: Software-Projekte der Mitglieder
by ichbins,
21. Dez 2005
Wenn aber sowieso die ganze Datei eingelesen wird kann man doch mit genauso hohem Tempo gleich eine Komplettprüfung vollziehen.
Du machst ja auch nicht beim Bestimmen ob eine Zahl eine Primzahl ist zuerst einen vielleicht-nicht-Primzahltext und testest erst dann, ob es eine Primzahl ist, wenn beide Tests dieselbe Dauer haben :roll:
Forum: Software-Projekte der Mitglieder
by ichbins,
21. Dez 2005
Aber die Checksumme zu erstellen dauert auch einige Zeit. Dazu muss auch die ganze Datei gelesen und verrechnet werden. Wieso also nicht gleich einen großen Vergleich machen?
Forum: Software-Projekte der Mitglieder
by ichbins,
21. Dez 2005
Aber der md5- bzw. crc32-Vergleich ist NIE ganz sicher, da er nur den Hash der Datei einliest.
Lies die Datei am besten in 4096-Byte-Blöcken ein und vergleiche diese dann auf einen Schwung. Wenn Unterschiede auftreten kannst du diese per XOR feststellen.
var
f1,f2:file of byte;
buf1,buf2,diff:array of byte;
read,i:integer;
begin
Forum: Software-Projekte der Mitglieder
by ichbins,
21. Dez 2005
Verbesserungsvorschläge:
- xpstyle
- mehr Platz. Bei Dateien mit Namen mit mehr als 10 Zeichen passt es nicht hin
- Zu was brauch ich dieses Memo? Dass es nach jedem einzelnen Byte aktualisiert wird beschleunigt die Aktion natürlich auch nicht
- bei mir hängt sich das Prog auf (zwei EXEn mit ~10 MB)