Rumah >Java >javaTutorial >Apakah Gelagat Kripto/AES Lalai Java Tanpa Konfigurasi Selanjutnya?
Gelagat Kripto/AES Lalai Java Terbongkar
Apabila bekerja dengan API Kriptografi Java, gelagat tetapan lalai untuk penyulitan AES boleh menjadi sedikit misteri. Berikut ialah penyelaman yang lebih mendalam tentang perkara yang berlaku:
Soalan: Apakah gelagat kripto Java lalai untuk yang berikut:
<code class="java">SecretKeySpec localSecretKeySpec = new SecretKeySpec(arrayOfByte, "AES"); Cipher localCipher = Cipher.getInstance("AES");</code>
Secara khusus, bagaimana kelas ini menjana Vektor Permulaan (IV) dan apakah mod penyulitan lalai apabila "AES" ditentukan tanpa penjelasan lanjut?
Jawapan:
Untuk Oracle JDK 7, lalai sifir yang digunakan untuk penyulitan AES ialah AES/ECB/PKCS5Padding. Anehnya, maklumat ini tidak dinyatakan secara eksplisit dalam dokumentasi Java Security. Sebaliknya, ia memerlukan beberapa ujian praktikal untuk dirungkai:
<code class="java">Cipher cipher = Cipher.getInstance("AES"); System.out.println(cipher.getAlgorithm()); // Outputs: AES/ECB/PKCS5Padding</code>
Dalam konfigurasi lalai ini:
Adalah penting untuk ambil perhatian bahawa walaupun tingkah laku lalai ini mungkin mencukupi untuk senario asas, ia biasanya tidak dianggap selamat untuk kebanyakan aplikasi kerana kekurangan penjanaan IV dan potensi kebocoran data dalam mod ECB. Untuk menangani kebimbangan keselamatan ini, adalah disyorkan untuk mentakrifkan mod penyulitan dan strategi penjanaan IV secara eksplisit yang selaras dengan keperluan khusus anda.
Atas ialah kandungan terperinci Apakah Gelagat Kripto/AES Lalai Java Tanpa Konfigurasi Selanjutnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!