Zum Hauptinhalt springen

FsiFileProcess

Mit dieser Anweisung können externe Dateien komprimiert/verschlüsselt beziehungsweise entschlüsselt/dekomprimiert werden. Zusätzlich ist es mit FsiFileProcess() auch möglich die Dateien mit einem Hash-Wert zu versehen. Als Quelldatei wird die in (alpha1) angegebene externe Datei verwendet. Das Ergebnis der Verarbeitung wird in die Datei (alpha2) geschrieben. Wird der Parameter (alpha2) nicht angegeben, wird die Quelldatei durch die entstandene Datei ersetzt.

Eine Datei die mit dem Befehl FsiFileProcess() bearbeitet wurde, wird mit einem Dateifuß versehen. Dieser wird verwendet, um zu erkennen, ob eine Datei von CONZEPT 16 bereits komprimiert beziehungsweise verschlüsselt wurde und entsprechend wiederhergestellt werden kann. In diesem "Stempel" werden ebenfalls zusätzliche Informationen wie der ermittelte Hash-Wert der Datei abgelegt. Der Dateifuß wird beim Entschlüsseln beziehungsweise Dekomprimieren wieder entfernt.

Im Parameter (int3) werden die Optionen zur Dateiverarbeitung kombiniert. Folgende Optionen sind dabei möglich:

  • _FsiEncrypt

    Die Datei wird verschlüsselt.

  • _FsiCompress...

    Die Datei wird komprimiert. Dabei können die Kompressionsstufen _FsiCompressFast, _FsiCompressMed, _FsiCompressStd und _FsiCompressSlow verwendet werden.

  • _FsiDecode

    Die Datei wird entschlüsselt und dekomprimiert.

  • _FsiFileMD5

    Mit _FsiFileMD5 (Message-Digest Algorithm 5) kann an eine Datei auch deren Hash-Wert angehängt werden. Wird zusätzlich zur Hash-Wert Funktionalität auch eine Komprimierung beziehungsweise Verschlüsselung durchgeführt, berechnet die Funktion den Hash-Wert erst nach der Dateiverarbeitung. Der Hash-Wert wird dann wieder bei der Entschlüsselung/Dekomprimierung der Datei mit dem Dateiinhalt verglichen. Mit dieser Funktion können Manipulationen an Dateien festgestellt werden. In diesem Fall wird _ErrData zurückgegeben.

  • _FsiFileCRC32

    Wie bei _FsiFileMD5 wird an die Datei eine CRC32-Prüfsumme angehängt.

  • _FsiFileRMD160

    Wie bei _FsiFileMD5 wird an die Datei ein Hash-Wert angehängt. Dieser wird nach RIPEMD-160-Standard berechnet.

  • _FsiFileSHA1

    Wie bei _FsiFileMD5 wird an die Datei ein SHA-1-Hash-Wert angehängt.

  • _FsiFileSHA256

    Wie bei _FsiFileMD5 wird an die Datei ein SHA-256-Hash-Wert angehängt.

  • _FsiFileSHA384

    Wie bei _FsiFileMD5 wird an die Datei ein SHA-384-Hash-Wert angehängt.

  • _FsiFileSHA512

    Wie bei _FsiFileMD5 wird an die Datei ein SHA-512-Hash-Wert angehängt.

Für das Verschlüsseln beziehungsweise Entschlüsseln der Datei kann in (alpha4) optional ein eigener Schlüssel angegeben werden. Der Schlüssel darf eine maximale Länge von 64 Zeichen haben und muss beim Verschlüsselungs- und Entschlüsselungsvorgang identisch sein. Wird der Parameter (alpha4) nicht angegeben, wird ein interner Schlüssel verwendet.

info

Die Option _FsiEncrypt sollte immer mit einer der _FsiFile...-Optionen kombiniert werden.

warnung

Die Verfahren _FsiFileCRC32, _FsiFileMD5, _FsiFileRMD160 und _FsiFileSHA1 sind nicht kollisionssicher und sollten daher nicht zur Integritätsprüfung von Dateien verwendet werden.

info

Bei den _FsiCompress...-Optionen findet die Komprimierung in einem internen Format statt. Die Dateien können daher nur mit CONZEPT 16 wieder entpackt werden. Mit FsiFileCompress() können Dateien hingegen in einem standardisierten Format komprimiert werden.

Folgende Werte können von der Funktion zurückgegeben werden: