Skip to main content

Documentation Index

Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt

Use this file to discover all available pages before exploring further.

Mit dem $wsSecurity Modul können Sie Daten verschlüsseln, entschlüsseln und hashen. Es dient dem Schutz sensibler Daten wie Passwörter, Token oder persönliche Informationen. In diesem Abschnitt erfahren Sie, wie Sie die verschiedenen Verschlüsselungs- und Hash-Methoden einsetzen können.

Modulübersicht

Beispiel / Ausschnitt über $wsSecurity
{{= $wsSecurity | json }}
JSON-Ausgabe
{
  "decrypt": "ƒ()",
  "encrypt": "ƒ()",
  "encryptManual": "ƒ()",
  "hash": "ƒ()"
}
Anmerkung: ƒ() kennzeichnet eine Funktion. Methoden in der Übersicht
MethodeRückgabe-TypBeschreibung
decrypt()stringEntschlüsselt Daten, die mit encrypt() verschlüsselt wurden.
encrypt()stringVerschlüsselt Daten mit einem in der Shop-Konfiguration hinterlegten Verschlüsselungsverfahren.
encryptManual()mapVerschlüsselt Daten wie encrypt(), gibt aber nur die einzelnen Bestandteil separat zurück.
hash()stringBerechnet einen kryptografischen Hash-Wert der Eingabedaten.

Templates

Die Sicherheitsfunktionen können in jedem Template verwendet werden, typischerweise bei:
  • Formularen mit sensiblen Daten
  • Token-Generierung für Links
  • Passwort-Verarbeitung im Registrierungsprozess
  • Datenübergabe an externe Systeme

Variablen

Für $wsSecurity stehen keine Variablen zur Verfügung.

Methoden

$wsSecurity.decrypt()

Entschlüsselt Daten, die mit $wsSecurity.encrypt() verschlüsselt wurden. Signatur
$wsSecurity.decrypt(data)
Rückgabe
string - Entschlüsselte Daten im Klartext.
Parameter
NameTypPflichtBeschreibung
datastringjaVerschlüsselte Daten im WEBSALE-Format.
Beispiel, das verschlüsselte Daten entschlüsselt.
{{ var $myDecryptedData = $wsSecurity.decrypt($encryptedData) }}

$wsSecurity.encrypt()

Verschlüsselt Daten mit einem in der Shop-Konfiguration hinterlegten Verschlüsselungsverfahren. Die verschlüsselten Daten können nur mit decrypt() wieder entschlüsselt werden. Signatur
$wsSecurity.encrypt(id, data, encryptionMethod, encoding)
Rückgabe
string - Verschlüsselte Daten im WEBSALE-Format.
Parameter
NameTypPflichtBeschreibung
idstringjaID des konfigurierten Verschlüsselungsverfahrens aus security - Sicherheitsregeln.
datastringjaZu verschlüsselnde Daten.
encryptionMethodstringjaVerschlüsselungsmethode.
Mögliche Werte:
- blowfish - Blowfish Blockchiffre im ECB-Modus.
- aescbc - AES Blockchiffre im CBC-Modus.
- aesgcm - AES Blockchiffre im GCM-Modus.
- tdes - Triple DES Blockchiffre im CBC-Modus.
encodingstringjaAusgabe-Encoding: hex oder base64.
Beispiel, das Daten mit AES-GCM verschlüsselt.
{{ var $myEncryptedData = $wsSecurity.encrypt("token_v1", "Sensible Daten", "aesgcm", "base64") }}

$wsSecurity.encryptManual()

Verschlüsselt Daten wie encrypt(), gibt aber die einzelnen Bestandteile (Ciphertext, Salt, Auth-Tag) separat zurück. Nützlich für die Integration mit externen Systemen, die ein anderes Format erwarten. Signatur
$wsSecurity.encryptManual(id, data, encryptionMethod, encoding)
Rückgabe
map - Map mit den einzelnen Verschlüsselungsteilen.
Rückgabe-Felder
RückgabewertTypBeschreibung
ciphertextstringVerschlüsselte Daten.
keySaltstringSchlüssel zur Herleitung des Salts.
tagstringAuth-Token zur Authentizitätsprüfung (nur bei aesgcm).
Parameter
NameTypPflichtBeschreibung
idstringjaID der Verschlüsselungskonfiguration aus security.method.encrypt.
datastringjaZu verschlüsselnde Daten.
encryptionMethodstringjaVerschlüsselungsmethode.
Mögliche Werte:
- blowfish - Blowfish Blockchiffre im ECB-Modus.
- aescbc - AES Blockchiffre im CBC-Modus.
- aesgcm - AES Blockchiffre im GCM-Modus.
- tdes - Triple DES Blockchiffre im CBC-Modus.
encodingstringjaAusgabe-Encoding: hex oder base64.
Beispiel, das Daten verschlüsselt und einzeln verwendet:
{{ var $myResult = $wsSecurity.encryptManual("token_v1", "Sensible Daten", "aesgcm", "hex") }}
Ciphertext: {{= $myResult.ciphertext }}
Salt: {{= $myResult.keySalt }}
Tag: {{= $myResult.tag }}

$wsSecurity.hash()

Berechnet einen kryptografischen Hash-Wert der Eingabedaten. Hash-Werte sind Einweg-Verschlüsselungen – sie können nicht zurück in die Originaldaten umgewandelt werden. Typischer Anwendungsfall: Passwort-Speicherung. Signatur
$wsSecurity.hash(id, data, hashingMethod, encoding)
Rückgabe
string - Hash-Wert der Daten.
Parameter
NameTypPflichtBeschreibung
idstringjaID der Hash-Konfiguration aus security.method.hash.
datastringjaZu hashende Daten.
hashingMethodstringjaHash-Methode: sha256 oder sha512.
encodingstringjaAusgabe-Encoding: hex oder base64.
Beispiel, das ein Passwort mit einem konfigurierten Verfahren hasht.
{{ var $myHashedPassword = $wsSecurity.hash("password_v1", $userPassword) }}

Aktionen

Für $wsSecurity stehen keine Aktionen zur Verfügung. Die Verschlüsselung und das Hashing erfolgen direkt über die Methoden des Moduls.

Beispiele

In diesem Beispiel werden sensible Daten verschlüsselt und später wieder entschlüsselt.
{{ var $encrypted = $wsSecurity.encrypt("token_v1", "Geheime Nachricht", "aesgcm", "base64") }}

{{ var $decrypted = $wsSecurity.decrypt($encrypted) }}

Passwort hashen

In diesem Beispiel wird ein Passwort gehasht. Der Hash-Wert kann später mit einem erneut gehashten Passwort verglichen werden.
{{ var $hashedPassword = $wsSecurity.hash("password_v1", $password, "sha256", "hex") }}