Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Encrypt data file
|
Encrypt data file ( structurePath ; dataPath {; newPassPhrase | newDataKey {; archiveFolder {; curPassPhrase | curDataKey {; methodName}}}} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
structurePath | Text |
![]() |
Pfadname der Strukturdatei | |||||
dataPath | Text |
![]() |
Pfadname der Datendatei zum Verschlüsseln | |||||
newPassPhrase | newDataKey | Text, Objekt |
![]() |
Bei Ersetzen: Neue Passphrase (Text) oder neuer Verschlüsselungscode (Objekt) | |||||
archiveFolder | Text |
![]() |
Pfadname des Ordners zum Speichern der Originaldateien | |||||
curPassPhrase | curDataKey | Text, Objekt |
![]() |
Aktuelle Passphrase (Text) oder aktueller Verschlüsselungscode (Objekt) | |||||
methodName | Text |
![]() |
Name der 4D Callback Methode | |||||
Funktionsergebnis | Text |
![]() |
Kompletter Pfadname des Ordners, wo Originaldateien gespeichert sind. | |||||
Der Befehl Encrypt data file dient zum Verschlüsseln bzw. erneutem Verschlüsseln der Datendatei, angegeben im Parameter dataPath und dem Parameter structurePath zugeordnet. Er kann auch zum Entfernen der Verschlüsselung aus der Anwendung verwendet werden. Dieser Befehl verändert nicht die Originaldateien, er gibt den kompletten Pfadnamen des Ordners zurück, der zum Sichern der Original Datendatei angelegt wurde.
Hinweise:
Ausführen dieses Befehls verschlüsselt bzw. ändert die Verschlüsselung aller Tabellen der Anwendung, die auf verschlüsselbar gesetzt sind. Weitere Informationen dazu finden Sie im Abschnitt Verschlüsselbar des Handbuchs 4D Designmodus.
Warnung: Verschlüsseln einer Anwendung ist ein langwieriger Vorgang. Währenddessen erscheint ein Ablaufbalken, den der Benutzer unterbrechen kann. Beachten Sie, dass nach dem Verschlüsseln noch ein weiterer Schritt zum Komprimieren erfolgt.
Im Parameter structurePath können Sie einen leeren String übergeben oder den kompletten Pfadnamen der Strukturdatei, die der Datendatei zum Verschlüsseln zugewiesen ist. Diese Angabe wird für den Verschlüsselungsprozess benötigt. Übergeben Sie einen leeren String, erscheint das standardmäßige Dialogfenster zum Öffnen der Datei, so dass der Benutzer die dazugehörige Strukturdatei wählen kann. Andernfalls übergeben Sie einen kompletten Pfadnamen in der Syntax des jeweiligen Betriebssystems.
Im Parameter dataPath können Sie einen leeren String, einen Dateinamen oder einen kompletten Pfadnamen übergeben (in der Syntax des verwendeten Betriebssystems). Übergeben Sie einen leeren String, erscheint das standardmäßige Dialogfenster zum Öffnen der Datei, so dass der Benutzer die Datendatei zum Verschlüsseln wählen kann. Diese Datei muss zu Strukturdatei passen, die im Parameter structurePath angegeben ist. Übergeben Sie nur den Namen der Datendatei, sucht 4D danach auf derselben Ebene wie die Strukturdatei.
Encrypt data file verändert nicht die Originaldateien. Sie werden im Ordner archiveFolder (falls übergeben) in einem speziellen Ordner abgelegt mit Namen Replaced files (Encrypting) YYYY-MM-DD HH-MM-SS oder Replaced files (Decrypting) YYYY-MM-DD HH-MM-SS, wobei YYYY-MM-DD HH-MM-SS Datum und Uhrzeit der Operation angibt. Zum Beispiel: "Replaced files (Encrypting) 2018-09-29 13-00-35". Die neu verschlüsselte bzw. entschlüsselte Datendatei ersetzt automatisch die Originaldatei.
Haben Sie "" in archiveFolder definiert, erscheint ein Standarddialog zum Ordner öffnen, so dass der Benutzer den Speicherort für diesen Ordner angeben kann. Ohne archiveFolder werden die Originaldateien automatisch in einem Ordner mit Zeitstempel auf derselben Ebene wie die Strukturdatei abgespeichert.
Der Parameter method dient zum Setzen einer Callback-Methode, die während dem Verschlüsselungsprozess regelmäßig aufgerufen wird. Wenn Sie einen leeren String oder einen ungültigen Methodennamen übergeben, wird dieser Parameter ignoriert, d.h. es wird keine Methode aufgerufen. Beim Aufruf empfängt diese Methode, je nach dem auslösenden Ereignistyp, bis zu 5 Parameter (siehe unten). Es ist zwingend erforderlich, diese Parameter in der Methode zu deklarieren:
Ereignis | $1 (Lange Ganzzahl) | $2 (Lange Ganzzahl) | $3 (Text) | $4 (Lange Ganzzahl) | $5 (Lange Ganzzahl) |
Message | 1 | 0 | Ablaufmeldung (z.B. "Verschlüsseln von BLOBs in der Tabelle Dokumente") | Ausführung in Prozent (z.B. 50) | Reserviert |
Encryption finished | 2 | 0 | Meldung OK (z.B. "Fertig") | 0 | Reserviert |
Error | 3 | 0 | Fehlermeldung (z.B. "Problem mit Daten der Tabelle XX: kein Verschlüsselungscode vorhanden") | 0 | Reserviert |
End of execution | 4 | 0 | "Fertig" | 0 | Reserviert |
Warning(*) | 5 | Objekttyp | Fehlertext | Tabellen oder Indexnummer | Reserviert |
(*) Wird beim Schritt zur Verifikation zurückgegeben (siehe Befehl VERIFY DATA FILE).
Zurückgegebener Wert
Aktueller Pfad des Zielordners mit den Originaldateien.
Eine Datendatei zum ersten Mal verschlüsseln:
C_TEXT($folder;$passphrase)
$passphrase:=Request("Enter the passphrase")
If(OK=1)
//Da die Datendatei nicht verschlüsselt ist, wird kein aktueller Schlüssel zur Verschlüsselung geliefert.
$folder:=Encrypt data file(Structure file;"myData.4DD";$passphrase)
End if
Eine verschlüsselte Datendatei erneut verschlüsseln (Passphrase verändern):
C_TEXT($folder;$targetFolder;$passphrase;$newPassphrase)
$passphrase:=Request("Enter the current passphrase")
If(OK=1)
$newPassphrase:=Request("Enter the new passphrase")
If(OK=1)
$targetFolder:=Get 4D folder(Database folder)+"Save"+Folder separator
//Da die Datendatei verschlüsselt ist, muss der aktuelle Schlüssel zur Verschlüsselung geliefert werden
$folder:=Encrypt data file(Structure file;"myData.4DD";$newPassphrase;$targetFolder;$passphrase)
End if
End if
Die Verschlüsselung einer Datei aufheben
C_TEXT($folder;$targetFolder;$passphrase)
$passphrase:=Request("Enter the passphrase")
If(OK=1)
$targetFolder:=Get 4D folder(Database folder)+"DecryptedData"+Folder separator
//Die neue Passphrase wird als leerer String gesetzt, um alle Daten zu entschlüsseln
//Die aktuelle Passphrase muss geliefert werden
$folder:=Encrypt data file(Structure file;"myData.4DD";"";$targetFolder;$passphrase)
End if
Eine verschlüsselte Datendatei mit dem aktuellen Schlüssel erneut verschlüsseln (zum Beispiel, wenn sich der Status verschlüsselbar für einige Tabellen geändert hat)
C_TEXT($folder;$passPhrase)
C_BOOLEAN($added)
$passphrase:=Request("Enter the passphrase")
If(OK=1)
$added:=Register data key($passphrase) //Der Datenschlüssel ist jetzt in der 4D Schlüsselkette
$folder:=Encrypt data file(Structure file;"myData.4DD")
End if
4D Blog - New 4D commands to work with encrypted data
Data file encryption status
Decrypt data BLOB
Encrypt data BLOB
New data key
Produkt: 4D
Thema: Datensicherheit
Nummer:
1610
Erstellt: 4D v17 R5
4D Programmiersprache ( 4D v20 R7)