2013-04-24 102 views
0

我一直在尋找使用java在高級加密標準中執行更新查詢的示例,但找不到除update query in MySQL with AES_ENCRYPT?之外的任何示例。如何使用Java更新aes加密

以下功能的代碼,但數據是不加密的,我的問題是如何與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(姓,'更新數據uk112' )AS姓, AES_DECRYPT(中間名, 'uk112')AS中間名,AES_DECRYPT( 名字, 'uk112')AS名字,AES_DECRYPT(DOB, 'uk112')AS DOB, AES_DECRYPT(甘德, 'uk112') AS Gander,AES_DECRYPT(地址, 'uk112')AS地址,AES_DECRYPT(市, 'uk112')AS市 AES_DECRYPT(郵編, 'uk112')AS郵編 從客戶

+0

要加密哪一列?或所有列? – 2013-04-24 13:00:46

+0

是的,除了身份證和出生日期 – 2013-04-24 13:01:42

回答

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(); 
+0

不,我會試試這個謝謝 – 2013-04-24 13:09:14