

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# AES\_ENCRYPT-Funktion
<a name="AES_ENCRYPT"></a>

Die AES\_ENCRYPT-Funktion wird zum Verschlüsseln von Daten mit dem Advanced Encryption Standard (AES) -Algorithmus verwendet.

## Syntax
<a name="AES_ENCRYPT-syntax"></a>

```
aes_encrypt(expr, key[, mode[, padding[, iv[, aad]]]])
```

## Argumente
<a name="AES_ENCRYPT-arguments"></a>

 *expr*   
Der zu verschlüsselnde Binärwert.

 *key*   
Die Passphrase, die zum Verschlüsseln der Daten verwendet werden soll.  
Schlüssellängen von 16, 24 und 32 Bit werden unterstützt.

 *Modus*   
Gibt an, welcher Blockchiffriermodus zum Verschlüsseln von Nachrichten verwendet werden soll.   
Gültige Modi: ECB (Electronic CodeBook), GCM (Galois/Counter Mode), CBC (Cipher-Block Chaining).

 *Polsterung*   
Gibt an, wie Nachrichten aufgefüllt werden, deren Länge kein Vielfaches der Blockgröße ist.   
Gültige Werte: PKCS, NONE, DEFAULT.   
Das DEFAULT-Padding bedeutet PKCS (Public Key Cryptography Standards) für ECB, NONE für GCM und PKCS für CBC.  
Unterstützte Kombinationen von (*Mode*, *Padding*) sind ('ECB', 'PKCS'), ('GCM', 'NONE') und ('CBC', 'PKCS').

 *iv*   
Optionaler Initialisierungsvektor (IV). Wird nur für die Modi CBC und GCM unterstützt.   
Gültige Werte: 12 Byte lang für GCM und 16 Byte für CBC.

 *aad*   
Optionale zusätzliche authentifizierte Daten (AAD). Wird nur für den GCM-Modus unterstützt. Dies kann jede beliebige Eingabe in freier Form sein und muss sowohl für die Verschlüsselung als auch für die Entschlüsselung bereitgestellt werden.

## Rückgabetyp
<a name="AES_ENCRYPT-returm-type"></a>

Die Funktion AES\_ENCRYPT gibt unter Verwendung von AES im angegebenen Modus mit der angegebenen Auffüllung den verschlüsselten Wert *expr* zurück.

## Beispiele
<a name="AES_ENCRYPT-example"></a>

Das folgende Beispiel zeigt, wie die Spark-SQL-Funktion AES\_ENCRYPT verwendet wird, um eine Datenfolge (in diesem Fall das Wort „Spark“) mit einem angegebenen Verschlüsselungsschlüssel sicher zu verschlüsseln. Der resultierende Chiffretext wird dann Base64-kodiert, um das Speichern oder Übertragen zu erleichtern.

```
SELECT base64(aes_encrypt('Spark', 'abcdefghijklmnop'));
  4A5jOAh9FNGwoMeuJukfllrLdHEZxA2DyuSQAWz77dfn
```

Das folgende Beispiel zeigt, wie die Spark-SQL-Funktion AES\_ENCRYPT verwendet wird, um eine Datenfolge (in diesem Fall das Wort „Spark“) mit einem angegebenen Verschlüsselungsschlüssel sicher zu verschlüsseln. Der resultierende Chiffretext wird dann im Hexadezimalformat dargestellt, was für Aufgaben wie Datenspeicherung, Übertragung oder Debugging nützlich sein kann.

```
SELECT hex(aes_encrypt('Spark', '0000111122223333'));
 83F16B2AA704794132802D248E6BFD4E380078182D1544813898AC97E709B28A94
```

Das folgende Beispiel zeigt, wie Sie mit der Funktion AES\_ENCRYPT von Spark SQL eine Datenfolge (in diesem Fall „Spark SQL“) mithilfe eines angegebenen Verschlüsselungsschlüssels, Verschlüsselungsmodus und Füllmodus sicher verschlüsseln können. Der resultierende Chiffretext wird dann Base64-kodiert, um das Speichern oder Übertragen zu erleichtern.

```
SELECT base64(aes_encrypt('Spark SQL', '1234567890abcdef', 'ECB', 'PKCS'));
 3lmwu+Mw0H3fi5NDvcu9lg==
```