2013-05-30 21 views
3

工作,我有mysql數據庫一個表:aes_decryption不要在phpMyAdmin

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

我添加了兩個值給它 - 一種是通過MySQL的控制檯和其他從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控制檯我得到了以下出來放:

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我得到了以下的輸出: enter image description here

的phpmyadmin爲什麼不顯示正確的輸出?

+0

? –

+0

@MadhuraJayaratne版本信息:3.3.2deb1ubuntu1 –

回答

9

aes_decrypt函數產生二進制數據。 你的phpMyAdmin的嘗試

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

+0

但爲什麼它沒有在mysql控制檯中投射? –

+1

應該接受答案! – realUser404

+0

請注意,您在Adminer – Epoc

0

你可以試試哪些phpMyAdmin的版本,您使用的是下面的查詢

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

上不會遇到此問題感謝您的努力。你需要回答這個問題,而不是提供另一種解決方案。 –