為什麼 AES_DECRYPT 在 MySQL 中傳回加密資料?

Barbara Streisand
發布: 2024-11-10 13:46:03
原創
648 人瀏覽過

Why is AES_DECRYPT Returning Encrypted Data in MySQL?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板