Hashfile erstellen: Unterschied zwischen den Versionen

Aus Helper
Zur Navigation springen Zur Suche springen
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 6: Zeile 6:


==Beschreibung==
==Beschreibung==
Errechnet zu jedem Bild eines DOs einen Hash und speichert diesen ab.
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'''.
Der Serverjob lautet '''OJOHZDOHashErstellen'''.
==Pane im Produktionsauftrag (FHK_Maske)==
[[File:Systemtyp 46.JPG]]


===OFilesystem.$getHash(pDateipfad,pTyp)===
===OFilesystem.$getHash(pDateipfad,pTyp)===
Zeile 23: Zeile 29:


Die aktuelle Liste beinhaltet folgende Hashtypen:
Die aktuelle Liste beinhaltet folgende Hashtypen:
* '''0''' = '''-crc32'''
* 0 = '''-crc32'''
* '''1''' = '''-md2'''
* 1 = '''-md2'''
* '''2''' = '''-md4'''
* 2 = '''-md4'''
* '''3''' = '''-md5'''
* 3 = '''-md5'''
* '''4''' = '''-sha1'''
* 4 = '''-sha1'''
* '''5''' = '''-sha256'''
* 5 = '''-sha256'''
* '''6''' = '''-sha384'''
* 6 = '''-sha384'''
* '''7''' = '''-sha512'''
* 7 = '''-sha512'''


===OJOHZDOHashErstellen.$calcHash(pPfad,pTyp)===
===OJOHZDOHashErstellen.$calcHash(pPfad,pTyp)===
Zeile 40: Zeile 46:
Es werden vier verschiedene Fälle beachtet:
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'
* '''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.jpg.txt'
* Im '''zweiten''' Fall wird der Inhalt von HZ_FILENAME eins zu eins übernommen.
* 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'
* 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.jpg.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'
* '''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].md5'' in HZ_FILENAME stehen hat, dann wird wieder der Platzhalter ersetzt mit dem Bildernamen. Bei ''Hash_[DOFilename].md5'' führt es zu diesem Fall: 'Gugus.tif' -> 'Hash_Gugus.tif.md5'


==Essentielle Felder==
==Essentielle Felder==
Zeile 50: Zeile 56:
   HZ_HASHTYP    ''Typ des Hashes''
   HZ_HASHTYP    ''Typ des Hashes''


==Pane im Produktionsauftrag (FHK_Maske)==
  HZ_FILEVERHALTEN  0=Pro File ein Hashfile, 1=pro Ordner ein Hashfile
 


[[File:Systemtyp 46.JPG]]





Aktuelle Version vom 23. März 2021, 17:48 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.

Pane im Produktionsauftrag (FHK_Maske)

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.jpg.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.jpg.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].md5 in HZ_FILENAME stehen hat, dann wird wieder der Platzhalter ersetzt mit dem Bildernamen. Bei Hash_[DOFilename].md5 führt es zu diesem Fall: 'Gugus.tif' -> 'Hash_Gugus.tif.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