Guybrush Threepwood Geschrieben 15. Oktober 2003 Teilen Geschrieben 15. Oktober 2003 Hi, kennt einer eine Funktion oder einen Algorythmus um eine Checksumme von einer Datei zu erstellen, sodass man feststellen kann ob zwei Dateien identisch sind? Ich hab die Funktion CheckSumMappedFile() entdeckt, aber die macht glaube ich etwas anderes. Gruß Guybrush Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GrEnE Geschrieben 16. Oktober 2003 Teilen Geschrieben 16. Oktober 2003 Puh - selber machen? bool compare( std::ifstream& ifsIn, std::ifstream& ifsOut ) { if( !ifsIn && !ifsOut ) { return false; } std::istreambuf_iterator<char> beginIn(ifsIn); std::istreambuf_iterator<char> beginOut(ifsOut); std::istreambuf_iterator<char> end; __ for( ; beginIn!=end && beginOut!=end && *beginIn==*beginOut; ++beginIn,++beginOut ) {} if( beginIn!=end || beginOut!=end ) { return false; } return true } [/PHP] Liest Zeichenweise ein und vergleicht Zeichenweise - schnell und zuverlässig! - Oder willst du was anderes? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Timon Geschrieben 16. Oktober 2003 Teilen Geschrieben 16. Oktober 2003 http://www.langfine.com/rsa_md5.htm Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 16. Oktober 2003 Autor Teilen Geschrieben 16. Oktober 2003 @ GrEnE Dann hab ich ja keine Checksumme sondern einen Binärenvergeich bei dem ich beide Dateien komplett durchlaufen muss. @DingDong Danke für den Link, werd mal schauén ob es das ist was ich brauche. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 16. Oktober 2003 Teilen Geschrieben 16. Oktober 2003 Hallo, Um eine checksumme zu erzeugen, benötigst Du ein Verfahren, welches eine beliebig lange Eingabe (Deine Datei) auf einen kurzes, jedoch eindeutigen Wert abbildet. Ändert sich nur ein einzelnes Bit in der Eingabe, so muss sich auch die Checksumme ändern (ansonsten wäre es keine). Dazu eignet sich prinzipiell eine Einweg-Hashfunktion wie beispielsweise MD2, MD4, MD5. RIPE-MD oder auch SHA. Sehr weit verbreitet ist MD5 (wird praktisch von jedem Linux-Distributor verwendet). Aus dem Grund solltest Du auf MD5 zurückgreifen, zumal es bereits sehr viele Implementierungen gibt, die Du verwenden kannst. Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 16. Oktober 2003 Autor Teilen Geschrieben 16. Oktober 2003 Danke für die Erklärung:) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 20. Oktober 2003 Autor Teilen Geschrieben 20. Oktober 2003 Für alle die sich auch damit beschäftigen poste ich mal den Link zu dieser Seite, der MD5 Algorithmus lässt sich sehr einfach in ein Programm einbinden. Gruß Guybrush Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kathi008 Geschrieben 30. Oktober 2007 Teilen Geschrieben 30. Oktober 2007 Hallo, das Problem habe ich jetzt auch, nur dass ich die Checksumme nicht nur erstellen, sonder diese auch aus einer Datei auslesen will. Wie lese ich eine Checksumme, die vom System beim Erstellen erzeugt worden war, aus einer bestehender Datei aus? Wie ersetze ich diese durch meine Checksumme? Ich benutze VC++, MFC, ReadFile und WriteFile. Wäre sehr dankbar, wenn mir jemand helfen könnte:rolleyes: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 30. Oktober 2007 Teilen Geschrieben 30. Oktober 2007 Hi, ich verstehe nicht so ganz, was du möchtest. Willst du den Eingabewert eines Hashes wiederherstellen? Das geht natürlich nicht. Ansonsten müsstest du etwas genauer erläutern, was du mit "auslesen" meinst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kathi008 Geschrieben 30. Oktober 2007 Teilen Geschrieben 30. Oktober 2007 ich möchte anhand der checksumme feststellen können, ob die Datei geändert worden ist oder nicht. Die Checksumme ist doch eindeutig dafür, und das Datum wollte ich nicht nehmen, weil es könnte ja sein, dass die Datei erneut ohne irgenwelchen Änderungen gespeichert worden ist. Was ist ein Eingabewert eines Hashes - die Checksumme? Wenn ja, wo wird die dann gespeichert, kann man die (nur) auslesen und wie? Bin zimmlich neu in diesem Bereich:( Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 30. Oktober 2007 Autor Teilen Geschrieben 30. Oktober 2007 Speichern musst du die selber an irgendeiner Stelle. Du gehst halt einfach hin und liest die Datei komplett ein und ermittelst daraus dann die Checksumme (Hashwert). Die speicherst du dann irgendwo ab. Wenn du jetzt feststellen willst ob die Datei seit dem Erstellen der Checksumme geändert wurde dann erstellst du eine neue Checksumme und vergleichst die dann mit der abgespeicherten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.