Base64-Verschlüsselung
Siehe auch: Base64-Entschlüsselung
Wertauflöser - Kurzfassung
Zweck: Liefert den Base64-codierten String zu einem geeigneten Eingabewert ("Inhalt", "Dokument", "Dateiinformation", "Dateireferenz", String).
Der Base64-Verschlüsselung-Wertauflöser liefert den Base64-codierten String zu einem geeigneten Eingabewert.
Als Eingabewert wird ein "Inhalt" (Content)-Datenobjekt erwartet, wobei ausgehend von folgenden Datentypen eine automatische Typumwandlung erfolgt:
Textwert (String)
"Dokument" (Document), s. Dokumente
"Dateiinformation" ( FileInfo), s. Datei
"Dateireferenz" (FileReferenz), s. Dateireferenz, Dateimanager
Für alle anderen Datentypen als Eingabewert lautet der Rückgabewert immer "Kein Wert" ($null).
Hintergrund: Base64-Codierung
Der Base64-Code ist keine Verschlüsselung im kryptographischen Sinn. Es handelt sich lediglich um eine Abbildungsvorschrift zur Umwandlung von Binärdaten, durch die eine Folge von Bytes (Gruppen von 8 Bits) in einen Zeichensatz mit 64 "lesbaren" und gängigen Schriftzeichen ([A-Z][a-z][0-9]+/) übertragen wird.
Da 6-Bit nötig sind, um 64 Zeichen unterscheiden zu können, bildet eine Gruppe von 4 Base64-Codes (4 x 6bit = 24bit) je 3 unverschlüsselte Bytes bzw. auch Buchstaben eines ASCII-Texts ab.
Beispiel: Text: ABC → ASCII-Byte-Sequenz: {65, 66, 67}
→ Bits gruppiert á 8: {01000001, 01000010, 01000011}
→ Bits gruppiert á 6: {010000, 010100, 001001, 000011}
→ Base64-Wert/Code: {16/Q, 20/U, 9/J, 3/D} → Base64-Code: QUJD
►HINWEIS◄ Am Ende des Rückgabewerts können bis zu zwei Ist-Gleich-Zeichen (=) erscheinen, die nicht im Base64-Zeichensatzes enthalten sind und nur als Füllzeichen dienen, falls das 3 : 4-Ersetzungsschema aufgrund der Länge des Eingabewerts nicht komplett ausgeschöpft wird.
Beispiel: Text AB → {01000001, 01000010} → {010000, 010100, 001000, } → {16/Q, 20/U, 8/I, } → QUI=
Beispiel
In den Body einer E-Mail-Nachricht im HTML -Format soll eine Logo-Bilddatei eingebunden werden, die über den Dateimanager von Lobster Data Platform / Orchestration im Server-Filesystem hinterlegt wurde.
Der Inhalt der kleinen Bilddatei für das "Logo" soll nicht referenziert sondern über das Base64-Format direkt als Nutzlast für das src-Attribut eines img-Elements bereitgestellt werden.
Der HTML-Code für das img-Element soll vorab in einer Variablen mit dem Namen image bereitgestellt werden, auf die beim Zusammenstellen des E-Mail-Bodys (ggf. mehrfach) zugegriffen werden kann:
<img style="height:50px" src="data:<type>;charste:utf-8;base64,<Base64data>" alt="<fileName>" />
<type> repräsentiert den Inhaltstyp der Datei (als String, z. B. image/png).
<Base64data> definiert den Base64-codierten Dateiinhalt.
<fileName> definiert den Dateinamen, der als Platzhalter erscheint, falls die Datei nicht darstellbar ist.
Konfiguration:
Der Screenshot rechts zeigt eine Ausführen mit-Ereignisaktion, die die einzubindende Datei im Objekt-Wertauflöser als temporäres Bezugsobjekt über einen Dateireferenz-Wertauflöser definiert. Für den Aktionsblock steht damit der "Inhalt" (Content) der Datei als komplexes Datenobjekt zur Verfügung, dessen Detaildaten wir über einen Textverkettung-Wertauflöser in die oben definierte HTML-Struktur für das img-Element überführen:
|
|