toString()
na tablicy bajtów nie zwraca zawartości tablicy bajtów, ale [[email protected]
po którym następuje identyfikator hashcode tablicy bajtów. We wstawce nie użyłeś zawartości key
jako klucz, ale toString
-wartość. Musisz użyć PreparedStatement
za pomocą sparametryzowanego zapytania i ustaw wartości za pomocą 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);
Zrób to samo dla wybranego zapytania.
Nigdy nie należy łączyć wartości w zapytaniu. To sprawi, że będziesz podatny na wstrzyknięcie SQL.