Gelagat Kripto Lalai JDK Oracle untuk AES
Apabila membuat contoh objek SecretKeySpec untuk AES dan contoh Cipher menggunakan rentetan "AES," Java crypto mempamerkan tingkah laku lalai tertentu. Memahami gelagat ini, terutamanya berkenaan dengan penjanaan IV dan mod penyulitan, adalah penting untuk penyulitan dan penyahsulitan yang berkesan.
Generasi IV
Di Java, IV lalai (permulaan vektor) skim penjanaan untuk AES bergantung pada pelaksanaan asas. Untuk Oracle JDK 7, sifir lalai untuk AES ialah AES/ECB/PKCS5Padding. Sifir ini tidak menggunakan IV, kerana ia beroperasi dalam mod Buku Kod Elektronik (ECB).
Mod Penyulitan
Mod penyulitan merujuk kepada algoritma khusus yang digunakan untuk menyulitkan data. Apabila hanya "AES" ditentukan, Java crypto lalai menggunakan mod ECB. Dalam mod ECB, setiap blok plaintext disulitkan secara bebas, yang boleh memperkenalkan kelemahan keselamatan apabila berurusan dengan blok data yang besar.
Untuk penyulitan selamat, disyorkan untuk menentukan mod penyulitan yang lebih teguh secara eksplisit, seperti CBC (Cipher Block Chaining) atau GCM (Mod Galois/Counter). Mod ini memberikan jaminan keselamatan yang lebih baik dengan merantai blok data dan menggunakan IV rawak, masing-masing.
Berikut ialah contoh cara untuk menentukan mod penyulitan yang berbeza:
<code class="java">// Choose AES with Cipher Block Chaining mode and PKCS5Padding Cipher localCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");</code>
Atas ialah kandungan terperinci Apakah Tetapan Kriptografi Lalai untuk AES dalam Oracle JDK?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!