Hashfile erstellen: Unterschied zwischen den Versionen

Aus Helper
Zur Navigation springen Zur Suche springen
Zeile 8: Zeile 8:
Errechnet zu jeder Datei eines DOs einen Hash und speichert diesen ab. Es gibt zwei Varianten:
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.
* Zu jedem File im Objektordner wird ein eigenes Hashfile erstellt.
* Pro Objektordner wird '''ein''' Hashfile erstellt mit den Hashes aller File im Ordner.
* Pro Objektordner wird '''ein''' Hashfile erstellt mit den Hashes aller File im Ordnerordner.


Der Serverjob lautet '''OJOHZDOHashErstellen'''.
Der Serverjob lautet '''OJOHZDOHashErstellen'''.

Version vom 4. Februar 2021, 20:22 Uhr

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 Ordnerordner.

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
 HZ_FILEVERHALTEN  0=Pro File ein Hashfile, 1=pro Ordner ein Hashfile

Pane im Produktionsauftrag (FHK_Maske)