Dieser FileHandler geht von einigen Annahmen aus:
Prüfsummen sind in einer eigenen Datei gespeichert, wobei die
Namenserweiterung den Typ der Prüfsumme festlegt. Z.B. wählt die
Erweiterung .md5
den MD5 Algorithmus aus,
während .crc
CRC und .sha
SHA-1 verwenden.
Die Prüfsummendatei enthält die Prüfsumme in hexadezimaler Form auf der ersten Zeile. Aller nachfolgender Inhalt wird ignoriert.
Der Basisname der Prüfsummendatei bestimmt die Datei, über deren Inhalt die Prüfsumme berechnet werden soll.
download.zip.md5
beinhaltet also eine MD5
Prüfsumme für den Inhalt der Datei download.zip
.
Wird die Prüfsummendatei in diesem FileHandler geöffnet, lädt dies die Prüfsumme und zeigt sie in der für den gewählten Algorithmus angebrachten Form an. Der Name der Zieldatei wird ebenfalls dargestellt, zusammen mit dem Namen des Algorithmus, welcher anhand der Erweiterung gewählt wurde.
Die Verifikation kann nun durch Anklicken des entsprechenden Schaltknopfes gestartet werden. Dies wird dann die Prüfsumme über den Inhalt der Zieldatei neu berechnen und das Resultat zusammen mit einem Hinweistext zur Interpretation anzeigen.
Kann die Zieldatei nicht gefunden werden, so ist die Verifikation nicht möglich. Die Zieldatei muss dabei im gleichen Verzeichnis wie die Prüfsummendatei selbst vorliegen.
Abhängig von der Grösse der Zieldatei und dem verwendeten Algorithmus kann die Verifikation sehr lange Zeit in Anspruch nehmen. Eine Statusmeldung zeigt die laufende Berechnung an, jedoch ist ein Abbrechen zur Zeit nicht möglich.
Resultiert die Berechnung in einer Prüfsumme, die sich von der geladenen unterscheidet, so wird das Speichern ermöglicht, sofern von der Konfiguration erlaubt.
Das Laden der Prüfsumme ist sehr fehlertolerant in dem Sinne, als einfach versucht wird, die benötigte Anzahl hexadezimaler Zeichen von der ersten Zeile zu laden. Beinhaltet die Datei ungültige oder zuwenige Zeichen, so resultiert daraus bloss eine ungültige Prüfsumme. Es ist daher einfach, eine neue Prüfsummendatei zu erstellen, indem einfach eine beliebige (auch leere) Datei als Vorlage genommen wird und darauf dann die initiale Berechnung durchgeführt wird.