MySQL 中AES_ENCRYPT 後無法解密加密數據
問題陳述:
加密後在MySQL 表中使用AES_ENCRYPT 的數據,嘗試使用AES_DECRYPT 解密資料會導致無法查看解密值。
解決方案:
根據 MySQL 手冊,AES_DECRYPT 旨在傳回原始字串解密。但是,使用者觀察到解密的值仍然以二進位字串形式傳回。要解決此問題,使用者應嘗試使用 CAST 函數將解密的字串轉換為字串。
例如,以下查詢會將解密的first_name 欄位轉換為 50 個字元的字串:
SELECT *, CAST(AES_DECRYPT(first_name, 'usa2010') AS CHAR(50)) first_name_decrypt FROM user
然後使用者可以使用first_name_decrypt欄位以可讀格式檢視解密的資料。
以上是為什麼 AES_DECRYPT 在 MySQL 中傳回加密資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!