我在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我得到了以下输出:

为什么phpmyadmin不能显示正确的输出?
发布于 2013-06-02 02:24:09
aes_decrypt函数产生二进制数据。试一试
select cast(aes_decrypt(q,123456) as char) from t LIMIT 0, 30;在你的phpMyAdmin上。
发布于 2017-05-08 17:23:50
您可以尝试执行以下查询
select aes_decrypt(unhex(q),123456) from t;https://stackoverflow.com/questions/16836519
复制相似问题