FsiFileProcess
FsiFileProcess(alpha1, alpha2, int3[, alpha4]) : int
Externe Dateien komprimieren und verschlüsseln sowie entschlüsseln und dekomprimieren
Details
- alpha1: Name der zu verarbeitenden Datei
- alpha2: Name der Zieldatei
- int3:
- Verarbeitungsoptionen:
_FsiEncrypt_FsiCompress..._FsiDecode_FsiFileMD5_FsiFileCRC32_FsiFileRMD160_FsiFileSHA1_FsiFileSHA256_FsiFileSHA384_FsiFileSHA512
- alpha4: zu verwendender Schlüssel (optional)
- Resultat:
intErgebnis der Dateiverarbeitung - Siehe: Verwandte Befehle ,
FsiFileCompress (),FsiFileUncompress (),FsiOpen (),FsiRead (),FsiWrite (), Fehlerwerte , Verschlüsselung und Komprimierung (Blog)
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:
_FsiEncryptDie Datei wird verschlüsselt._FsiCompress...Die Datei wird komprimiert. Dabei können die Kompressionsstufen_FsiCompressFast,_FsiCompressMed,_FsiCompressStdund_FsiCompressSlowverwendet werden._FsiDecodeDie Datei wird entschlüsselt und dekomprimiert._FsiFileMD5Mit_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_ErrDatazurückgegeben._FsiFileCRC32Wie bei_FsiFileMD5wird an die Datei eine CRC32-Prüfsumme angehängt._FsiFileRMD160Wie bei_FsiFileMD5wird an die Datei ein Hash-Wert angehängt. Dieser wird nach RIPEMD-160-Standard berechnet._FsiFileSHA1Wie bei_FsiFileMD5wird an die Datei ein SHA-1-Hash-Wert angehängt._FsiFileSHA256Wie bei_FsiFileMD5wird an die Datei ein SHA-256-Hash-Wert angehängt._FsiFileSHA384Wie bei_FsiFileMD5wird an die Datei ein SHA-384-Hash-Wert angehängt._FsiFileSHA512Wie bei_FsiFileMD5wird 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.
Die Option _FsiEncrypt sollte immer mit einer der _FsiFile... -Optionen kombiniert werden.
: Die Verfahren
_FsiFileCRC32,_FsiFileMD5,_FsiFileRMD160und_FsiFileSHA1sind nicht kollisionssicher und sollten daher nicht zur Integritätsprüfung von Dateien verwendet werden.
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:
_ErrOk: Dateiverarbeitung erfolgreich durchgeführt._ErrOutOfMemory: Speicher konnte nicht angefordert werden_ErrData: Datenfehler in der externen Datei_ErrDecryption: Fehler bei der Dateientschlüsselung mit dem angegeben Schlüssel_ErrFsiReadFault: Fehler beim Lesen der externen Datei_ErrFsiWriteFault: Fehler beim Schreiben der externen Datei