首頁  >  文章  >  資料庫  >  為什麼 AES_DECRYPT() 在 MySQL 中傳回空結果?

為什麼 AES_DECRYPT() 在 MySQL 中傳回空結果?

Patricia Arquette
Patricia Arquette原創
2024-11-11 09:21:03645瀏覽

Why Does AES_DECRYPT() Return an Empty Result in MySQL?

MySQL 中的AES_DECRYPT 失敗故障排除

嘗試解密先前使用AES_ENCRYPT() 加密的資料時,您可能會遇到AES_ECDECPT(PT ) 問題回傳空結果。這可能會令人沮喪,因為您的加密資料仍然無法存取。

根據 MySQL 文檔,AES_DECRYPT() 預計會傳回解密加密字串的原始字串。但是,在某些情況下,它可能會傳回二進位字串。

要解決此問題,請嘗試以下操作:

SELECT *,
       CAST(AES_DECRYPT(first_name, 'usa2010') AS CHAR(50)) first_name_decrypt
FROM   user

此查詢使用 CAST() 函數來轉換解密的二進位字串轉為CHAR字串,可以正常顯示。不要在後續查詢或應用程式中使用“first_name”,而是使用“first_name_decrypt”來存取解密的資料。

以上是為什麼 AES_DECRYPT() 在 MySQL 中傳回空結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn