Rumah > Java > javaTutorial > Mengapa Bait Dekripsi Awal Saya Tidak Betul dalam Java AES/CBC?

Mengapa Bait Dekripsi Awal Saya Tidak Betul dalam Java AES/CBC?

DDD
Lepaskan: 2024-11-29 19:17:12
asal
624 orang telah melayarinya

Why Are My Initial Decrypted Bytes Incorrect in Java AES/CBC?

Bait Permulaan Tidak Betul Selepas Penyahsulitan Java AES/CBC

Bait awal rentetan yang dinyahsulit dalam contoh penyahsulitan Java AES/CBC yang disediakan muncul tak betul. Ini boleh disebabkan oleh beberapa sebab:

1. Vektor Permulaan (IV):

Untuk melakukan penyahsulitan dengan betul, anda mesti memasukkan IV yang sama yang digunakan semasa penyulitan. Dalam contoh yang diberikan, nampaknya IV tidak dimulakan sebelum penyahsulitan, membawa kepada penyahsulitan bait pertama yang salah.

2. Vektor Permulaan (IV):

IV mesti sepadan dengan IV yang digunakan semasa penyulitan. Jika IV dijana secara rawak, ia mestilah nilai rawak yang sama yang digunakan untuk menyulitkan data.

3. Pengekodan/Penyahkod Base64:

Pastikan data yang disulitkan dikodkan Base64 sebelum penyahsulitan. Contoh yang diberikan tidak termasuk pengekodan Base64, yang mungkin membawa kepada penyahsulitan yang salah.

4. Set Aksara:

Set aksara lalai yang digunakan untuk pengekodan/penyahkodan ialah UTF-8. Sahkan bahawa set aksara yang sama telah digunakan semasa penyulitan dan penyahsulitan.

5. Kunci Salah:

Kunci penyulitan mesti sepadan dengan kunci yang digunakan untuk penyahsulitan. Pastikan kunci yang betul digunakan dalam kedua-dua proses penyulitan dan penyahsulitan.

Untuk menyelesaikan isu ini dan menyahsulit data dengan betul, ikut langkah berikut:

  • Mulakan IV menggunakan IvParameterSpec baharu (aesKey.getEncoded()) sebelum penyahsulitan.
  • Pastikan data yang disulitkan adalah Base64 dikodkan sebelum penyahsulitan.
  • Gunakan set aksara yang sama (UTF-8) untuk kedua-dua penyulitan dan penyahsulitan.
  • Sahkan bahawa kunci yang betul digunakan untuk kedua-dua penyulitan dan penyahsulitan.

Atas ialah kandungan terperinci Mengapa Bait Dekripsi Awal Saya Tidak Betul dalam Java AES/CBC?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan