Hashfile erstellen
- Mantiseinträge
2316
- Systemtyp
46
Beschreibung
Errechnet zu jeder Datei eines DOs einen Hash und speichert diesen ab. Es gibt zwei Varianten:
- Zu jedem File im Objektordner wird ein eigenes Hashfile erstellt.
- Pro Objektordner wird ein Hashfile erstellt mit den Hashes aller File im Ordner.
Der Serverjob lautet OJOHZDOHashErstellen.
OFilesystem.$getHash(pDateipfad,pTyp)
Die Methode $getHash berechnet den Hash, mit dem angegebenen Typ (pTyp), aus der gewählten Datei (pDateipfad) und gibt den Wert als Text zurück.
THerstellzeile.$WL_HZ_HASHTYP
$WL_HZ_HASHTYP erstellt eine Liste mit allen Hashtypen, die wir zurzeit benötigen und gibt diese Werte zurück.
Die Liste besteht aus vier Spalten:
- Code (eindeutige Nummerierung des Typen)
- Wert
- WinOption
- MacOption
Die aktuelle Liste beinhaltet folgende Hashtypen:
- 0 = -crc32
- 1 = -md2
- 2 = -md4
- 3 = -md5
- 4 = -sha1
- 5 = -sha256
- 6 = -sha384
- 7 = -sha512
OJOHZDOHashErstellen.$calcHash(pPfad,pTyp)
Verwendet grundsätzlich nur die Methode OFilesystem.$getHash und gibt den Hashwert im Textformat zurück.
OJOHZDOHashErstellen.$calcHash(pHZFileName,pFileName,pPfad)
Die Namensgebung der Hashfiles findet hier statt. Der Name des Hashfiles wird ebenfalls im Textformat zurückgegeben.
Es werden vier verschiedene Fälle beachtet:
- Erster Fall wäre, wenn HZ_FILENAME leer ist. Dann wird einfach ein TXT-File erstellt mit dem Dateinamen des Bildes. Beispiel: 'Mirko.jpg' -> 'Mirko.txt'
- Im zweiten Fall wird der Inhalt von HZ_FILENAME eins zu eins übernommen.
- Der dritte Fall wäre, dass [DOFilename] als Platzhalter genutzt wird. Dazu hat es eine gewählte Dateiendung, welche übernommen wird. Beispielsweise haben wir [DOFilename].hsh in HZ_FILENAME stehen. Dann hätten wir folgenden Fall: 'Mirko.jpg' -> 'Mirko.hsh'
- Vierter und letzter Fall wäre ein Mix aus den letzten zwei Fällen. Hier hat man auch wieder einen Platzhalter und wenn man beispielsweise Hash_[DOFilename]1.md5 in HZ_FILENAME stehen hat, dann wird wieder der Platzhalter ersetzt mit dem Bildernamen. Bei Hash_[DOFilename]1.md5 führt es zu diesem Fall: 'Gugus.tif' -> 'Hash_Gugus1.md5'
Essentielle Felder
HZ_FILENAME Name des Hashfiles
HZ_HASHTYP Typ des Hashes