Base64-Entschlüsselung
Siehe auch: Base64-Verschlüsselung
Wertauflöser - Kurzfassung
Zweck: "Entschlüsselt" einen als Eingabewert vorliegenden Base64-codierten String wahlweise als String (Standard) oder als "ByteArray" (byte[]).
Der Base64-Entschlüsselung-Wertauflöser "entschlüsselt" einen als Eingabewert vorliegenden Base64-codierten String wahlweise als String (Standard) oder als "ByteArray" (byte[]).
Der Eingabewert muss dem Base64-Format entsprechen und deshalb folgende Anforderungen erfüllen:
Es handelt sich um einen Textwert (String).
Der Textwert darf ausschließlich Zeichen aus dem Base64-Zeichensatz ([A-Z][a-z][0-9]+/) und kann am Ende bis zu zwei Instanzen des Füllzeichens (=) enthalten.
Die Länge des Textwerts (inkl. der ggf. enthaltenen Füllzeichen am Ende) muss ein ganzzahliges Vielfaches von 4 sein.
Verletzt der Eingabewert mindestens eine dieser Anforderungen, lautet der Rückgabewert "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=
Konfiguration
Die Option als ByteArray zurückgeben ist per Standard abgewählt. Mit dieser Einstellung wird das Ergebnis der Entschlüsselung als Textwert (String) zurückgegeben. |
|
Ist die Option als ByteArray zurückgeben ausgewählt, wird das Ergebnis der Entschlüsselung als ByteArray (byte[]) zurückgegeben. |
|
Beispiel
Das folgende Beispiel soll nur den Effekt der Option als ByteArray zurückgeben illustrieren. Es hat keine unmittelbaren praktischen Nutzen.
Der Screenshot rechts zeigt einen Ausführen mit-Wertauflöser, dessen Objekt-Wertauflöser hier dazu dient, einen Base64-String zu erzeugen, der die Zeichenfolge "X►U" (mit einem Unicode-Sonderzeichen an der zweiten Position) "codiert". Die generierte Base64-Zeichenfolge , die als temporäres Bezugsobjekt für den Aktionsblock gilt, lautet WOKWulU=, aber das tut hier wenig zur Sache. Der Aktionsblock enthält eine Hinweis anzeigen-Ereignisaktion, die in Titel und Meldung je eine Instanz des Base64-Entschlüsselung-Wertauflösers verwendet, um die generierten Base-Zeichenfolge zu decodieren. Im Titel ist dabei die Option als Byte Array zurückgeben abgewählt (Standard), sodass der ursprüngliche String ("X►U") als Rückgabewert zu erwarten ist. In der Meldung ist die Option als ByteArray zurückgeben ausgewählt, sodass nicht der ursprüngliche String sondern ein Array zu erwarten ist, das alle Bytes auflistet, die benötigt werden, um dessen Zeichen im UTF-8-Format zu codieren. In beiden Fällen ist ein Objekt-Feld-Wertauflöser verkettet, der auf das Feld length zugreift, das jeweils die Länge des Strings bzw. des ByteArrays angibt. Da der unverschlüsselte Text ein Sonderzeichen "►" enthält, für das die -8-Codierung - anders als für Zeichen aus dem ASCII-Zeichensatz - mehrere Bytes benötigt, unterscheidet sich die Länge der Zeichenfolge (3 Zeichen) von der Länge des ByteArrays (5 Bytes). |
|
Laufzeitbeispiel:
|