我發現了類似的問題,但對此問題沒有明確的答案。我有這個表:爲什麼AES_DECRYPT返回null?
CREATE DATABASE testDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE testTable
(
firstName binary(32) not null,
lastName binary(32) not null
/* Other non-binary fields omitted */
)
engine=INNODB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
這個語句的執行就好了:
INSERT INTO testTable (firstName) VALUES (AES_ENCRYPT('Testname', 'test'));
但是,這返回NULL:
SELECT AES_DECRYPT(firstName, 'test') FROM testTable;
爲什麼這個返回NULL?
FWIW,這將返回預期 「測試值」:
SELECT AES_DECRYPT(AES_ENCRYPT('testValue','thekey'), 'thekey');
@owlstead我做到了。它在INSERT和SELECT語句中。我選擇的字段是'testTable'表中的'firstName'。 – user1091949 2013-04-25 21:34:22
噢,那是你,我的錯誤,感謝你報告回來:)你可以接受你自己的答案後whilte – 2013-04-28 10:51:41