」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼 AES_DECRYPT() 在 MySQL 中傳回空結果?

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

發佈於2024-11-13
瀏覽:662

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

MySQL 中AES_DECRYPT 失敗故障排除

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

根據 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”來存取解密的資料。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3