A toString()
върху байтов масив не връща съдържанието на байтовия масив, но [[email protected]
последвано от хеш кода за самоличност на байтовия масив. Във вашата вложка не сте използвали съдържанието на key
като ключ, но toString
- стойност. Трябва да използвате PreparedStatement
с параметризирана заявка и задайте стойностите с помощта на 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);
И направете същото за вашата заявка за избор.
Никога не трябва да свързвате стойности в заявката си. Това ще ви направи уязвими към SQL инжектиране.