AES_DECRYPT() allow encryption and decryption of
data using the official AES (Advanced Encryption Standard) algorithm,
previously known as "Rijndael." Encoding with a 128-bit key length is
used, but you can extend it up to 256 bits by modifying the source. We
chose 128 bits because it is much faster and it is secure enough for
AES_ENCRYPT() encrypts a string
str using the key
key_str, and returns a binary string.
AES_DECRYPT() decrypts the encrypted string and returns the original
The input arguments may be any length. If either argument is NULL, the result of this function is also
Because AES is a block-level algorithm, padding is used to encode uneven length strings and so the result string length may be calculated using this formula:
16 x (trunc(string_length / 16) + 1)
AES_DECRYPT() detects invalid data or incorrect padding, it returns
NULL. However, it is possible for
AES_DECRYPT() to return a non-
value (possibly garbage) if the input data or the key is invalid.
It is highly recommended that a passphrase is hashed first before passing it to AES_ENCRYPT.
INSERT INTO t VALUES (AES_ENCRYPT('text',SHA2('password',512)));