Seite 3 von 3
Re: Eigenen Prüfsumme Algo
Verfasst: 23.04.2016 14:05
von Sicro
Den Dateityp könnte man noch in die Hash-Berechnung mit aufnehmen.
Also so: Hash(Dateidaten + Dateigröße + Dateityp).
Zusätzlich könntest du auch zwei Hash-Algorithmen verwenden.
Die Idee, einen eigenen Prüfsummen-Algorithmus zu erfinden, solltest du lieber vergessen.
Vielleicht würdest du Spaß daran haben, aber besser und schneller als die aktuell verfügbaren, die Mathe-Genies entwickelt haben, wird deiner sicherlich nicht.
Re: Eigenen Prüfsumme Algo
Verfasst: 24.04.2016 15:36
von NicTheQuick
Meinst du mit Dateityp die Dateiendung? Das ist doch nur Schall und Rauch. Und einem Linux sind Dateiendungen sowieso egal.
Re: Eigenen Prüfsumme Algo
Verfasst: 24.04.2016 15:41
von RSBasic
Dann nimmt man stattdessen die
magische Zahl.

Re: Eigenen Prüfsumme Algo
Verfasst: 24.04.2016 17:46
von Sicro
NicTheQuick hat geschrieben:Meinst du mit Dateityp die Dateiendung? Das ist doch nur Schall und Rauch. Und einem Linux sind Dateiendungen sowieso egal.
Ich meine damit die magische Zahl und die Dateiendung.
Mir ist bekannt, dass die Dateiendung meistens nicht für die Identifizierung des Dateityps erforderlich ist und nur existiert, damit der Dateityp schon am Dateinamen erkennbar ist, ohne vorher die magische Zahl auszuwerten.
Es gibt auch Dateitypen, die keine magische Zahl haben und ohne die Datenstruktur zu analysieren der Dateityp nur mit der Dateiendung identifiziert werden kann.
Vielleicht irre ich mich, aber ich denke, um so mehr Informationen von der Datei in die Hash-Berechnung einbezogen wird, um so geringer ist die Wahrscheinlichkeit, dass zwei unterschiedliche Dateien identische Hash-Werte liefern.
Gerade ist mir noch eine weitere Variante eingefallen:
Hash(Dateidaten + [Dateidaten rückwärts gelesen] + Dateigröße + Dateityp)
Hier könnte man noch, wie hier bereits vorgeschlagen wurde, z. B. die ersten paar Megabytes und die letzten paar Megabytes nochmal mit in die Hash-Berechnung rein nehmen.
Re: Eigenen Prüfsumme Algo
Verfasst: 24.04.2016 18:07
von NicTheQuick
Prüfsummen sind eigentlich so gedacht, dass man sie einfach auf die Menge zu prüfender Daten anwendet. Die Entropie ändert sich nicht, wenn man die Datei nochmal rückwärts anhängt oder sowas. Der Dateityp ist in der Prüfsumme schon enthalten, immerhin erkennt man ihn am Dateiinhalt. Es macht keinen Sinn, den nochmal zu extrahieren und miteinzubeziehen. Die Entropie bleibt wieder gleich. Bei SHA-1 wird die Datenlänge mit in den Hash einbezogen. Also auch das ist unnötig.
Wenn man Dateien vergleichen will, macht man es aus Geschwindigkeitsgründen so, wie es hier im Thread schon öfter gesagt wurde: Dateien verschiedener Größen sind unterschiedlich. Dateien gleicher Größe kann man mittels Hash-Verfahren vergleichen. Bei gleichem Hash kann man die Datei nochmal 1:1 vergleichen, ist aber meistens unnötig.
Hasht man jetzt jede Datei komplett, dauert das mitunter sehr lange, deswegen wird das Verfahren meistens geändert und nur ein Bruchteil der Datei gehasht, z.B. ein Stück vom Ende und ein Stück vom Anfang, vielleicht auch noch ein Stück genau in der Mitte. Der Hash lässt sich so bei jeder Dateigröße gleich schnell berechnen, aber ist natürlich vollkommen unsicher und ein nachfolgender 1:1-Vergleich muss zwingend durchgeführt werden, wenn die Hashes gleich sind.