2012-11-29 73 views
0

我正在使用AES_ENCRYPT方法來加密Mysql數據,但是當我嘗試它爲Mysql日期類型字段不工作。如何使用AES_ENCRYPT加密Mysql日期字段?我已經通過googleing試過了,但目前還沒有運氣。Mysql日期加密

+1

您需要將字符串傳遞給AES_ENCRYPT。將日期轉換爲一個字符串,你應該有你的答案。 –

+0

您是否應該將日期字段創建爲字符串字段? – Palani

回答

1

從MySQL手冊:

AES_ENCRYPT() encrypts a string and returns a binary string. 
AES_DECRYPT() decrypts the encrypted string and returns the original string. 
The input arguments may be any length. 
If either argument is NULL, the result of this function is also NULL. 

這意味着你需要存儲在VARCHAR或文本類型的一列的加密數據。

+0

嗯,那麼mysql加密函數將無助於像DOB那樣加密日期字段?或者有沒有爲此定製的方式? – Palani

+0

對於類型爲date的每個日期列「mydate」,您應該創建一個字符串類型的列「mydate_enc」來代替。如果您使用的是對象關係映射器,這當然會弄亂日期映射。 – Adder