Índice

Funciones de cifrado y de compresión

En este apartado veremos las funciones siguientes:

AES_ENCRYPT, AES_DECRYPT

Cifrar/descifrar datos utilizando el algoritmo AES.

COMPRESS, UNCOMPRESS

Comprimir/descomprimir datos.

MD5, SHA1, SHA, SHA2

Suma de comprobación de una cadena.

PASSWORD

Contraseña cifrada.

Las funciones de cifrado y de descompresión devuelven cadenas binarias; para el almacenamiento en la base de este tipo de datos, es recomendable utilizar una columna de tipo BLOB.

AES_ENCRYPT - AES_DECRYPT

Sintaxis

AES_ENCRYPT(cadena,clave) 
AES_DECRYPT(cadena,clave)

Las funciones AES_ENCRYPT y AES_DECRYPT cifran y descifran una cadena por medio del algoritmo AES (Advanced Encryption Standard) con una clave de 128 bits por defecto (véase la documentación para usar una clave más larga).

Ejemplo

mysql> UPDATE autor 
    -> SET contrasenia = AES_ENCRYPT(’abc123’,’secretodedefensa’) 
    -> WHERE id = 1; 
Query OK, 0 rows affected (0.00 sec) 
Rows matched: 1  Changed: 0  Warnings: 0 
 
mysql> SELECT contrasenia FROM autor WHERE id = 1; 
+------------------+ 
| contrasenia      | 
+------------------+ 
| ~YU?(@z?B???      | 
+------------------+ 
1 row in set (0.00 sec) 
 
mysql> SELECT AES_DECRYPT(contrasenia,’secretodedefensa’) 
    -> FROM autor WHERE id = 1; 
+-------------------------------------------+ 
| AES_DECRYPT(contrasenia,’secretodedefensa’)  | 
+-------------------------------------------+  ...