Wo, also an welcher Stelle wird die Prüfsumme einer Datei gespeichert?
2 Antworten
Für normale Dateien werden Prüfsummen erst berechnet, wenn man eine solche benötigt.
Es gibt zudem mehrere gängige Prüfsummenverfahren (MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512). Ohne informationen zu verwendeten Verfahren würde das speichern der Prüfsumme einer Datei wenig Sinn ergeben.
Unter Windows ist der ist der einfachste Weg zum ermitteln einer Dateiprüfsumme:
cmd/Batch:
certUtil -hashfile "C:\Test.txt" SHA512
Powershell:
Get-FileHash 'C:\Test.txt' -a SHA512
Gewöhnlich verwendet man eine Prüfsumme zum vergleichen von mehreren Dateien auf absolute Gleichheit des Inhalts. ...oder um festzustellen das eine Datei nicht verändert wurde.
Für letzteres würde es wenig Sinn ergeben, die Prüfsumme innerhalb der Datei zu speichern, da sich die Prüfsumme einer Datei mit dem speichern der Prüfsumme in die gleiche Datei ändern würde, käme es zu der paradoxen Situation, das die berechnete Prüfsumme , den Inhalt der Datei (und damit die Prüfsumme) verändert....
Letzteres bedeutet, das es nicht möglich ist, die Prüfsumme einer Datei in selbiger zu speichern ohne diese zu verändern! Wenn dies dennoch geschieht (zB "Selbstprüfender Code") , wird explizit die Prüfsumme für einen speziellen Speicherbereich erstellt und diese außerhalb von selbigem gespeichert. Das hat jedoch nichts mit der gesamten Datei zu tun und erfordert speziellen auf die Art der Daten angepassten Code.
Dafür würde ich zb. unter .Net die Methode :
..verwenden
sonstiges:

Achso, sie wird nicht im vorhinein gespeichert, sondern manch ein Programm, zB. ein Bildbetrachter prüft beim Öffnen.
Sie wird meistens nicht gespeichert, sondern aus Daten berechnet.
Dennoch könnte es Dateiformate geben, deren Teil eine Prüfsumme ist. Dann müsstest du die Spezifikationen des jeweiligen Dateiformats lesen.