Một toString()
trên mảng byte không trả về nội dung của mảng byte, nhưng [[email protected]
theo sau là mã băm nhận dạng của mảng byte. Trong phụ trang của mình, bạn đã không sử dụng nội dung của key
làm khóa, nhưng toString
-giá trị. Bạn cần sử dụng PreparedStatement
với một truy vấn được tham số hóa và đặt các giá trị bằng 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);
Và làm tương tự cho truy vấn đã chọn của bạn.
Bạn không bao giờ nên nối các giá trị vào truy vấn của mình. Nó sẽ khiến bạn dễ bị chèn SQL.