

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Función AES\_ENCRYPT
<a name="AES_ENCRYPT"></a>

La función AES\_ENCRYPT se utiliza para cifrar datos mediante el algoritmo AES (Advanced Encryption Standard).

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

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

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

 *expr*   
El valor binario que se va a cifrar.

 *clave*   
La contraseña que se utilizará para cifrar los datos.  
Se admiten longitudes de clave de 16, 24 y 32 bits.

 *mode*   
Especifica qué modo de cifrado por bloques se debe utilizar para cifrar los mensajes.   
Modos válidos: ECB (electrónico CodeBook), GCM (modo Galois/Counter) y CBC (encadenamiento de bloques cifrados).

 *acolchado*   
Especifica cómo rellenar los mensajes cuya longitud no sea un múltiplo del tamaño del bloque.   
Valores válidos: PKCS, NONE, DEFAULT.   
El relleno PREDETERMINADO significa PKCS (estándares de criptografía de clave pública) para ECB, NONE para GCM y PKCS para CBC.  
Las combinaciones admitidas de (*modo*, *relleno*) son («ECB», «PKCS»), («GCM», «NONE») y («CBC», «PKCS»).

 *iv*   
Vector de inicialización opcional (IV). Solo se admite en los modos CBC y GCM.   
Valores válidos: 12 bytes de longitud para GCM y 16 bytes para CBC.

 *aad*   
Datos autenticados adicionales (AAD) opcionales. Solo se admite en el modo GCM. Puede ser cualquier entrada de formato libre y debe proporcionarse tanto para el cifrado como para el descifrado.

## Tipo de retorno
<a name="AES_ENCRYPT-returm-type"></a>

La función AES\_ENCRYPT devuelve un valor cifrado de *expr* mediante AES en un modo determinado con el relleno especificado.

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

El siguiente ejemplo muestra cómo utilizar la función AES\_ENCRYPT de Spark SQL para cifrar de forma segura una cadena de datos (en este caso, la palabra «Spark») mediante una clave de cifrado específica. A continuación, el texto cifrado resultante se codifica en Base64 para facilitar su almacenamiento o transmisión.

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

El siguiente ejemplo muestra cómo utilizar la función AES\_ENCRYPT de Spark SQL para cifrar de forma segura una cadena de datos (en este caso, la palabra «Spark») mediante una clave de cifrado específica. A continuación, el texto cifrado resultante se representa en formato hexadecimal, lo que puede resultar útil para tareas como el almacenamiento, la transmisión o la depuración de datos.

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

El siguiente ejemplo muestra cómo utilizar la función AES\_ENCRYPT de Spark SQL para cifrar de forma segura una cadena de datos (en este caso, «Spark SQL») mediante una clave de cifrado, un modo de cifrado y un modo de relleno específicos. A continuación, el texto cifrado resultante se codifica en Base64 para facilitar su almacenamiento o transmisión.

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