我一直在搜索使用java在高级加密标准中执行更新查询的示例,但除了update query in MySQL with AES_ENCRYPT?之外找不到任何更新查询。
以下代码功能,但数据未加密,我的问题是如何使用AES_ENCRYPT更新数据
try{
String value1 = jTextFieldID.getText();
String value2 = jTextFieldFirstname.getText();
String value3 = jTextFieldMiddlename.getText();
String value4 = jTextFieldLastname.getText();
String value5 = ((JTextField)txt_Date.getDateEditor().getUiComponent()).getText();
String value6= Gander.toString();
String value7= jTextFieldAddress.getText();
String value8 = jTextFieldCity.getText();
String value9 = jTextFieldPostcode.getText();
String sql = "update Customer set ID='"
+value1+"',FirstName='"
+value2+"',MiddleName='"
+value3+"',LastName='"
+value4+"',DOB='"
+value5+"',Gander='"
+value6+"',Address='"
+value7+"',City='"
+value8+"',PostCode='"
+value9+"'where ID='"
+value1+"'";
pst = conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "Data is updated");
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
AES_DECRYPT
SELECT ID,AES_DECRYPT(FirstName,'uk112')AS FirstName, AES_DECRYPT(MiddleName,'uk112')AS MiddleName,AES_DECRYPT( LastName,'uk112')AS LastName,AES_DECRYPT(DOB,'uk112')AS DOB, AES_DECRYPT(Gander,'uk112')AS Gander,AES_DECRYPT(地址, 'uk112')AS地址,AES_DECRYPT(City,'uk112')AS City, AES_DECRYPT(PostCode,'uk112')AS PostCode 来自客户
答案 0 :(得分:1)
String sql = "update Customer set FirstName= AES_ENCRYPT(?,'uk112'),MiddleName= AES_ENCRYPT(?,'uk112'),LastName= AES_ENCRYPT(?,'uk112'),DOB=?,Gander= AES_ENCRYPT(?,'uk112'),Address= AES_ENCRYPT(?,'uk112'),City= AES_ENCRYPT(?,'uk112'),PostCode= AES_ENCRYPT(?,'uk112') where ID=?";
pst = conn.prepareStatement(sql);
pst.setString(1, value2);
pst.setString(2, value3);
pst.setString(3, value4);
pst.setString(4, value5);
pst.setString(5, value6);
pst.setString(6, value7);
pst.setString(7, value8);
pst.setString(8, value9);
pst.setString(9, value1);
pst.execute();