Sebuah toString()
pada array byte tidak mengembalikan konten array byte, tetapi [[email protected]
diikuti oleh kode hash identitas dari array byte. Di sisipan Anda, Anda tidak menggunakan konten key
sebagai kuncinya, tetapi toString
-nilai. Anda perlu menggunakan PreparedStatement
dengan kueri berparametri, dan atur nilainya menggunakan setBytes
:
psmt = con.prepareStatement("insert into mm values (?, AES_ENCRYPT(?, ?), AES_ENCRYPT(?, ?))");
psmt.setInt(1, id);
psmt.setString(2, name);
psmt.setBytes(3, key);
psmt.setstring(4, sal);
psmt.setBytes(5, key);
Dan lakukan hal yang sama untuk kueri pemilihan Anda.
Anda tidak boleh menggabungkan nilai ke dalam kueri Anda. Ini akan membuat Anda rentan terhadap injeksi SQL.