Rumah >pangkalan data >tutorial mysql >Mengapakah AES_DECRYPT() Mengembalikan Keputusan Kosong dalam MySQL?

Mengapakah AES_DECRYPT() Mengembalikan Keputusan Kosong dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-11-11 09:21:03713semak imbas

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

Menyelesaikan masalah Kegagalan AES_DECRYPT dalam MySQL

Apabila cuba menyahsulit data yang disulitkan sebelum ini dengan AES_ENCRYPT(), anda mungkin menghadapi masalah di mana AES_DECRYPT() mengembalikan hasil kosong. Ini boleh mengecewakan, kerana data anda yang disulitkan masih tidak boleh diakses.

Menurut dokumentasi MySQL, AES_DECRYPT() dijangka akan mengembalikan rentetan asal yang menyahsulit rentetan yang disulitkan. Walau bagaimanapun, dalam beberapa kes, ia mungkin mengembalikan rentetan perduaan sebaliknya.

Untuk menyelesaikan isu ini, cuba yang berikut:

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

Pertanyaan ini menggunakan fungsi CAST() untuk menukar yang dinyahsulit rentetan binari kepada rentetan CHAR, yang boleh dipaparkan dengan betul. Daripada menggunakan "first_name" dalam pertanyaan atau aplikasi anda yang berikutnya, gunakan "first_name_decrypt" untuk mengakses data yang dinyahsulit.

Atas ialah kandungan terperinci Mengapakah AES_DECRYPT() Mengembalikan Keputusan Kosong dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn