我的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)
From phpadmin I got the following output:
![enter image description here](https://i.stack.imgur.com/fZXm4.jpg)
为什么 phpmyadmin 不显示正确的输出?
aes_decrypt
函数产生二进制数据。
尝试
select cast(aes_decrypt(q,123456) as char) from t LIMIT 0, 30;
在你的 phpMyAdmin 上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)