Een toString()
op een byte-array retourneert niet de inhoud van de byte-array, maar [[email protected]
gevolgd door de identiteitshashcode van de bytearray. In je insert heb je de inhoud van key
. niet gebruikt als de sleutel, maar de toString
-waarde. U moet een PreparedStatement
. gebruiken met een geparametriseerde query, en stel de waarden in met 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);
En doe hetzelfde voor uw geselecteerde zoekopdracht.
U mag nooit waarden in uw query samenvoegen. Het maakt je kwetsbaar voor SQL-injectie.