AES_ENCRYPT(string,string_chave), AES_DECRYPT(string,string_chave)
Estas funções permitem criptografia/descriptografia de dados usando o algoritmo oficial AES (Padrão Avançado de Criptografia), antes conhecido como Rijndael.
Os argumentos de entrada podem ser de qualquer tamanho. Se ambos argumentos são NULL, o resultado desta função tam bém será NULL.
A string resultante pode ser calculada como 16*(trunc(tamanho_string/16)+1).
Se AES_DECRYPT() detectar dados inválidos ou padding incorreto, ela retorna NULL.
No entanto, é possível para o AES_DECRYPT() retornar um valor não-NULL (possivelmente lixo) se os dados de entrada ou a chave eram inválidos
Você pode usar as funções AES para armazenar dados de forma criptografada modificando as suas consultas:
INSERT INTO t VALUES (1,AES_ENCRYPT(’text’,'password’));
Você pode obter mais segurança não transferindo a chave em suas conexões a cada consulta, o que pode ser conseguido armazenando-o em varáveis do lado do servidor na hora da conexão.
SELECT @password:=’my password’;
INSERT INTO t VALUES (1,AES_ENCRYPT(’text’,@password));
AES_ENCRYPT() e AES_DECRYPT() foram adicionados na versão 4.0.2, e podem ser considerados a função de criptografia mais segura atualmente disponível no MySQL.