Из приведенного вами примера это выглядит нормально. Можете ли вы увидеть, как это сделать?
SELECT CAST(AES_DECRYPT(u.strFirstName,'usa2010') AS CHAR(50)) FROM EncryptingTest.tblUser u;
Пожалуйста, проверьте эту ссылку у него есть некоторые большие ресурсы по этому вопросу ваш облицовочного ...
http://mysqlblog.fivefarmers.com/2014/03/27/mysql-5-6-17-now-with-better-encryption/
EDIT - Действительное затруднительное
Использование AES_ENCRYPT() или AES_DECRYPT() с block_encryption_mode, установленным на блочный шифр, отличный от ECB, приведет к ошибке, если IV не предоставлен:
mysql> SET @@session.block_encryption_mode = 'aes-256-cbc';
Query OK, 0 затронутых строк (0,00 сек)
mysql> SELECT HEX(AES_ENCRYPT('test', 'key'));
ERROR 1582 (42000): Неверный подсчет параметров в вызове собственной функции 'AES_ENCRYPT' MySQL> SELECT HEX (AES_ENCRYPT ("тест ',' key ', RANDOM_BYTES (16))); + ------------------------------------------------ --- + | HEX (AES_ENCRYPT ('test', 'key', RANDOM_BYTES (16))) | + ------------------------------------------------ --- + | 2EFBA8708925C1DF8B661E57938FAE5E | + ------------------------------------------------ --- + 1 строка в наборе (0,00 сек) Обратите внимание, что IV не хранится в результирующем зашифрованном виде - это артефакт, который вам придется отслеживать отдельно, чтобы получить дешифрованные значения обратно:
mysql> SET @iv = RANDOM_BYTES(16);
запроса ОК, 0 затронутых строк (0,01 сек)
mysql> SELECT HEX(AES_ENCRYPT('test', 'key', @iv));
+ ---------------------------- ---------- + | HEX (AES_ENCRYPT ('test', 'key', @iv)) | + -------------------------------------- + | 650CE9E699ECA922E09E80CEBE51BFC7 | + -------------------------------------- + 1 ряд в комплекте (0,00 сек)
mysql> SELECT AES_DECRYPT(UNHEX('650CE9E699ECA922E09E80CEBE51BFC7'), 'key', @iv);
+ ------------------------------------------ -------------------------- +
AES_DECRYPT(UNHEX('650CE9E699ECA922E09E80CEBE51BFC7'), 'key', @iv) |
+ --------------- -------------------------------------------------- --- + | тест | + ------------------------------------------------ -------------------- + 1 ряд в комплекте (0.00 сек)
Какая именно ошибка вы получаете? [Документация] (http://dev.mysql.com/doc/refman/5.6/en/encryption-functions.html#function_aes-decrypt) подразумевает, что это должно сработать. – tadman
Код ошибки: 1582. Неправильный счетчик параметров в вызове на нативную функцию 'aes_decrypt' - это ошибка, которую я получаю – Bryan
Вы прочитали в режиме Block Cypher в приведенной ссылке? – Codexer