Dateien auf Änderungen kontrollieren/ MD5
-
Mal ne Frage. Im Rahmen einer Anwendung, welche Dateien via WWW von A nach B überträgt soll auf Empfängerseite geprüft werden, ob während der Übertragung irgendwas auf der Strecke geblieben ist etc.
Dazu wollte ich auf der Senderseite einen MD5 Hash der jeweiligen Dateien erstellen das Ergebnis in einer gesonderten Nachricht ebenfalls übertragen und am Empfängerort nochmal MD5 um dann die Ergebnisse miteinander zu Vergleichen.
Würdet Ihr zu einem anderen Verfahren raten? Gibt es bei MD5 irgendwelche Fussangeln, die man beachten muss (habe damit in der Entwicklung noch nicht gearbeitet)?
Die Daten, die übertragen werden sind idR MS Office Dokumente, PDFs oder TIFFs.
-
Hm, eigentlich sicher, aber knackbar. In Wikipedia steht kurz was zu dem Thema
-
Such dir ne andere Hash-Funktion aus(SHA, oder so was...); MD5 ist nicht kollisionsfrei.
-
Unbekannt schrieb:
Such dir ne andere Hash-Funktion aus(SHA, oder so was...); MD5 ist nicht kollisionsfrei.
Wird wohl kein Hash-Algorithmus sein.
-
Ich würde auf jeden Fall nicht MD5 benutzen. Wenn ich eine kryptographischen Hash bräuchte, würde ich auf das sicherere SHA zurückgreifen.
Ansonsten vllcht. CRC, weil es leicht zu implementieren ist und weil ich notfalls die boost-implementierung verwenden könnte, d.h. ich müsste nicht erst einen wrapper schreiben, falls ich auf eine c- oder eine unsaubere c++-implementierung stoße.mfg
-
ich würde auf jeden fall MD5 benutzen.
-
Es geht mir weniger um Sicherheit in Form von "Angreifbarkeit" sondern mehr um SIcherheit in Form von "Haben die Daten den Transport auch gut überstanden".
Wenn Du z.B. eine JPEG Datei überträgst und diese bei der Übrtaragung einen Datneverlust erleidet sieht das Ergebnis recht lutig aus, aber nicht mehr so wie die Ausgangsdatei. Solche Überaschungen will ich eben vermeiden, so dass im Zweifelsfall das Dokument eben erneut angefordert wird. Abgesichert wird die Geschichte auf andere Art und Weise.
Danke bis jetzt für die Antworten!
-
Wenn du die Daten per TCP/IP verwendest brauchste doch sowas nicht.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Physi am anderen Rechner schrieb:
Es geht mir weniger um Sicherheit in Form von "Angreifbarkeit" sondern mehr um SIcherheit in Form von "Haben die Daten den Transport auch gut überstanden".
Dann nimm lieber CRC, weil das schneller zu berechnen ist.
http://www.boost.org/libs/crc/crc.html
Ansonsten wüsste ich nicht was man bei MD5 beachten müsste (außer das es für kryptographische Sicherheit nicht mehr geeignet ist (SHA-1 aber auch nicht!)).
-
....? schrieb:
Wenn du die Daten per TCP/IP verwendest brauchste doch sowas nicht.
So siehts aus, aber wozu einfach, wenns auch kompliziert geht...