下面是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并没有真的返回这些值。 –