0

我一直在搜索使用 java 在高级加密标准中执行更新查询的示例,但除了使用 AES_ENCRYPT 在 MySQL中的更新查询之外找不到任何示例?.

下面的代码起作用,但数据没有加密,我的问题是如何使用 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

选择 ID,AES_DECRYPT(名字,'uk112')作为名字,AES_DECRYPT(中间名,'uk112')作为中间名,AES_DECRYPT(姓氏,'uk112')作为姓氏,AES_DECRYPT(出生日期,'uk112')作为 DOB,AES_DECRYPT(甘德, 'uk112' ) AS Gander, AES_DECRYPT( Address, 'uk112' ) AS Address, AES_DECRYPT( City, 'uk112' ) AS City, AES_DECRYPT( PostCode, 'uk112' ) AS PostCode FROM Customer

4

1 回答 1

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();
于 2013-04-24T13:06:33.653 回答