Mengapakah AES_DECRYPT mengembalikan rentetan binari dan bukannya teks biasa dalam MySQL?

Susan Sarandon
Lepaskan: 2024-11-11 03:50:02
asal
392 orang telah melayarinya

Why does AES_DECRYPT return a binary string instead of plaintext in MySQL?

Penyulitan dan Penyahsulitan AES Menggunakan Fungsi MySQL

Apabila bekerja dengan data sensitif, penyulitan menjadi penting untuk melindungi maklumat daripada capaian yang tidak dibenarkan. MySQL menyediakan pelbagai fungsi penyulitan, termasuk AES_ENCRYPT dan AES_DECRYPT, untuk melindungi data. Walau bagaimanapun, sesetengah pengguna menghadapi kesukaran semasa mencuba penyahsulitan selepas penyulitan menggunakan fungsi ini.

Masalah:

Apabila menanyakan baris daripada jadual menggunakan AES_DECRYPT selepas menyulitkannya dengan AES_ENCRYPT, hasilnya mungkin muncul sebagai rentetan binari dan bukannya yang dijangkakan plaintext.

Penyelesaian:

Menurut dokumentasi MySQL, AES_DECRYPT harus mengembalikan rentetan asal selepas penyahsulitan. Walau bagaimanapun, mungkin terdapat situasi di mana ia masih mengembalikan rentetan perduaan.

Kod berikut menunjukkan penyelesaian untuk isu ini:

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

Dengan menghantar nilai yang dinyahsulit secara eksplisit kepada jenis aksara menggunakan CAST(), anda boleh memastikan bahawa ia dipaparkan sebagai rentetan yang boleh dibaca. Gunakan lajur first_name_decrypt dalam pertanyaan anda untuk mendapatkan semula teks biasa yang dinyahsulit dan bukannya lajur first_name yang asal.

Atas ialah kandungan terperinci Mengapakah AES_DECRYPT mengembalikan rentetan binari dan bukannya teks biasa dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan