【问题标题】:aes_decryption don't work in phpmyadminaes_decryption 在 phpmyadmin 中不起作用
【发布时间】:2013-05-30 12:42:26
【问题描述】:

我在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 不显示正确的输出?

【问题讨论】:

  • 您使用的是哪个 phpMyAdmin 版本?
  • @MadhuraJayaratne 版本信息:3.3.2deb1ubuntu1

标签: mysql phpmyadmin aes


【解决方案1】:

aes_decrypt 函数产生二进制数据。 试试看

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

在您的 phpMyAdmin 上。

【讨论】:

  • 注意在Adminer上不会遇到这个问题
【解决方案2】:

你可以试试下面的查询

select aes_decrypt(unhex(q),123456) from t;

【讨论】:

  • 感谢您的努力。您需要回答问题,而不是提供其他解决方案。
猜你喜欢
  • 2017-09-02
  • 2023-03-29
  • 2018-01-26
  • 2013-02-26
  • 2014-09-25
  • 2020-08-06
  • 2013-01-03
  • 2012-03-17
  • 2013-08-26
相关资源
最近更新 更多