4

mysql データベースに 1 つのテーブルがあります。

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

それに 2 つの値を追加しました。

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 が正しい出力を表示しないのはなぜですか?

4

2 に答える 2

11

aes_decrypt関数はバイナリ データを生成します。試す

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

あなたのphpMyAdminで。

于 2013-06-01T18:24:09.083 に答える