下面是MySQL的架構中的字符串:我需要知道爲什麼下面的MySQL不給我,我AES_ENCRYPTed
CREATE TABLE prevent(
remoteAddr TINYBLOB NOT NULL,
logTime TINYBLOB NOT NULL
)ENGINE=InnoDB;
INSERT prevent VALUES (
AES_ENCRYPT('just a lame test','[email protected]#r'),
AES_ENCRYPT(NOW(),'b$Do^rK32C')
);
現在簡單的查詢:
SELECT AES_DECRYPT(remoteAddr,'[email protected]#r') remoteAddr,
AES_DECRYPT(logTime,'b$Do^rK32C') logTime FROM prevent;
但看看結果這裏:http://sqlfiddle.com/#!9/3c507a/3
我的問題是,爲什麼這些AES_DECRYPT值與我插入的字符串不一樣?
的SQLFiddle導致你看到的是由SQLFiddle造成*使用base64編碼,因爲AES_DECRYPT的'輸出類型()'總是一滴,不串顯示*輸出,所以就就其而言,這些值可能與有效字符不相關,因此不應該如此處理(並顯示)。 MySQL並沒有真的返回這些值。 –