aes_decryption在phpmyadmin中不起作用

时间:2013-05-30 12:42:26

标签: mysql phpmyadmin aes

我在mysql数据库中有一个表:

CREATE TABLE IF NOT EXISTS `t` (
  `q` varchar(257) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

我添加了两个值 - 一个是通过mysql-console,另一个来自phpmyadmin:

insert into t(q) values(aes_encrypt('from phpmyadmin', 123456));
insert into t(q) values(aes_encrypt('from mysql console', 123456));

我试图展示它:

select aes_decrypt(q,123456) from t;

从mysql-console我得到了以下内容:

mysql> select aes_decrypt(q,123456) from t;
+-----------------------+
| aes_decrypt(q,123456) |
+-----------------------+
| from phpmyadmin       |
| from mysql console    |
+-----------------------+
2 rows in set (0.00 sec)

从phpadmin我得到以下输出: enter image description here

为什么phpmyadmin没有显示正确的输出?

1 个答案:

答案 0 :(得分:10)

aes_decrypt函数生成二进制数据。 试试

select cast(aes_decrypt(q,123456) as char) from t LIMIT 0, 30;

在你的phpMyAdmin上。