我在 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 不显示正确的输出?
最佳答案
aes_decrypt
函数产生二进制数据。
尝试
select cast(aes_decrypt(q,123456) as char) from t LIMIT 0, 30;
在你的 phpMyAdmin 上。
关于mysql - aes_decryption 在 phpmyadmin 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16836519/