Zufälliges Text-Token

Wertauflöser - Kurzfassung

Zweck: Liefert ein zufälliges Text-Token (String) als hexatrigesimale Darstellung eines zufälligen Long-Werts.

Siehe auch: Zufälliger Long-Wert

images/download/attachments/91131724/image2023-1-23_13-35-52-version-1-modificationdate-1674477352295-api-v2.png

Der Zufälliges Text-Token-Wertauflöser liefert ein zufälliges Text-Token (String) zurück.

Das erzeugte Text-Token ist das base36-Abbild eines zufälligen Long-Werts, serverseitig also die hexatrigesimale Darstellung einer 64-Bit-Ganzzahl, deren höchstwertiges Bit das Vorzeichen definiert.

Für die willkürlich als Text-Token bezeichnete Zeichenfolge im Rückgabewert (String) bedeutet das konkret:

  • Die Zeichenfolge beginnt in ca. 50% der Fälle mit einem Minuszeichen. Für positive Werte wird kein Pluszeichen vorangestellt.

  • Da die base36-Ziffernfolge keine "führenden Nullen" für den Absolutbetrag verwendet, muss als erstes Zeichen nach dem ggf. vorangestellten Minus eine base36-Ziffer (Definition als Regulärer Ausdruck: [0-9a-z]) erscheinen.

  • Abhängig vom Absolutbetrag des intern "gewürfelten" Long-Werts folgen darauf bis zu 12 weitere base36-Ziffern ([0-9a-z]).

  • Die Länge des zurückgegebenen Text-Tokens kann aufgrund des Wertebereichs für Long theoretisch zwischen 1 und 14 Zeichen liegen, wobei 14 Zeichen nur mit dem vorangestellten Minus erreicht werden.

Auch wenn der Rückgabewert mit hoher Wahrscheinlichkeit Zeichenfolgen von 10 oder mehr Zeichen produziert, sollte man das zufällige Auftreten kürzerer Zeichenfolgen zur Laufzeit nicht pauschal vernachlässigen.


WICHTIG◄ In einem Client Workflow werden nur die niedrigsten 52 Bits des zufälligen Long-Werts verarbeitet. Die höherwertigen Bits werden ignoriert bzw. abgeschnitten. Das schließt auch das Vorzeichen-Bit (Nr. 64) mit ein! Der Wertebereich im Client Workflow ist also auf Ganzzahlen im Intervall [0;2^52[ begrenzt. Ein per Client Workflow erzeugtes Text-Token beginnt daher nie mit einem Minuszeichen und erreicht auch nur eine Länge von maximal 11 Zeichen.


HINWEIS◄ Wenn eine minimale Textlänge (>1 Zeichen) für den zufälligen Text unbedingt erforderlich ist, muss diese durch weitere Maßnahmen systematisch erzwungen werden. Die Beispiele (unten) demonstrieren mit zwei unterschiedlich aufwändigen Ansätzen, wie das erreicht werden kann.

Konfiguration

Der Zufälliges Text-Token-Wertauflöser ignoriert den Eingabewert und verwendet keine Parameter.

Beispiele

Zufälliges Text-Token mit exakt 14 Zeichen

Die folgende Konfiguration weist der Variablen token eine zufällige Folge von Ziffern und Kleinbuchstaben mit einer Länge von 14 Zeichen zu:

images/download/attachments/91131724/image2023-1-23_10-57-19-version-1-modificationdate-1674467839261-api-v2.png

Die Wert-Konfiguration auf der rechten Seite der Setze Wert-Ereignisaktion definiert den zugewiesenen Textwert in drei Schritten:

  • Die erste Teilzeichenfolge innerhalb des Textverkettung-Wertauflöser wird mit dem Zufälliges Text-Token-Wertauflöser "gewürfelt".

  • Der Textverkettung-Wertauflöser hängt als zweite Teilzeichenfolge eine statisch definierte Zeichenfolge von 13 Nullen an.

  • Der verkettete Teilstring-Wertauflöser gibt nur die ersten 14 Zeichen der verketteten Zeichenfolge zurück.

Die angehängten Nullen kompensieren den Umstand, dass der Zufälliges Text-Token-Wertauflöser weniger als 14 Zeichen liefern kann.

ANMERKUNG◄ Da der Zufälliges Text-Token-Wertauflöser eine Textlänge nur mit Rückgabewerten erreicht, die mit einem Minuszeichen beginnen, endet der "aufbereitete" Token mit dieser Konfiguration immer mit dem Zeichen "0", wenn er nicht mit einem Minuszeichen beginnt.

Zufälliges Text-Token mit beliebig definierbarer Länge

In einer Ereignisbehandlung, soll zuverlässig ein zufälliges Text-Token mit 50 Zeichen erzeugt und der Variablen token zugewiesen werden.

Die rechts dargestellte Konfiguration für eine Für jeden Eintrag wiederholen (Schleife)-Ereignisaktion, greift bis zu 50 mal auf den Zufälliges Text-Token-Wertauflöser zu, um der Variablen token per Verkettung eine ausreichen lange Zeichenfolge zuzuweisen.

ANMERKUNG◄ Der Variablen token sollte vor Ausführung der Schleife sicherheitshalber "Kein Wert" ($null) bzw. eine leerer String ("") zugewiesen werden.

Im Aktionsblock für die Iteration werden folgende Schritte ausgeführt:

  • Eine Setze Wert-Ereignisaktion hängt an den ggf. bereits vorliegenden Textwert der Variablen token über den Textverkettung-Wertauflöser den Rückgabewert eines Zufälliges Text-Token-Wertauflösers an, wobei aus dem durch den verketteten Text ersetzen-Wertauflöser das ggf. vorangestellte Minuszeichen entfernt wird.

  • Anschließend prüft eine Wenn Dann Sonst-Ereignisaktion, ob die Länge (length) des Texts in der Variablen token bereits ausreichende Länge hat, also ob deren Länge größer oder gleich dem Wert der Schleifen-Variable $length ist. Gemäß Parametrierung für den Wertauflöser für Einträge im Kopf der Schleife enthält diese Variable den Wert 50.

  • Falls der token die gewünschte Länge erreicht oder überschritten hat, soll die Schleife nach dem Abarbeiten des Aktionsblocks beendet werden. Eine Setze Wert-Ereignisaktion weist zu diesem Zweck der Variablen $index der Wert der Variablen $length zugewiesen.

  • Anschließend wird - noch vor dem Verlassen der Schleife - die Textlänge exakt auf die geforderte Länge (hier: 50 Zeichen) abgestimmt, indem der in der Variable token aufgebaute Text über den Teilstring-Wertauflöser auf die in der Variablen $length angegebene Anzahl von Zeichen begrenzt wird.

ANMERKUNG◄ Durch den mehrfachen Zugriff auf die innerhalb der Schleife automatisch befüllte Variable $length, kann die token-Länge durch Anpassung des Parameters Wertauflöser für Einträge im Kopf der Schleife bei Bedarf einfach angepasst werden.

images/download/attachments/91131724/image2023-1-23_11-18-16-version-1-modificationdate-1674469096953-api-v2.png images/download/attachments/91131724/image2023-1-23_11-22-15-version-1-modificationdate-1674469335278-api-v2.png