如何使用Java更新aes加密

时间:2013-04-24 12:56:49

标签: java jdbc prepared-statement

我一直在搜索使用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       来自客户

1 个答案:

答案 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();
相关问题