java - 如何使用Java更新aes加密

标签 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( Address, 'uk112' ) AS Address, AES_DECRYPT( City, 'uk112' ) AS City, AES_DECRYPT( PostCode, 'uk112' ) AS PostCode FROM Customer

最佳答案

嗨,你尝试过这个吗?

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

关于java - 如何使用Java更新aes加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16192625/

相关文章:

java - 排序不适用于以下方法

java - 我可以将 TIMESTAMP WITH TIME ZONE 或 TIMESTAMP WITH LOCAL TIME ZONE 映射到哪些 Java 数据类型?

java - 如何获取preparedstatement中的batch数?

php - 释放 PDO 准备好的语句 (DEALLOCATE PREPARE)

java - 我无法理解 ORA-01722 : invalid number 背后的原因

java - GCP Dataflow - 如何使用 Dataflow 从 Google BigQuery 读取数据并加载到 Google Spanner 中

java - Android 编译 : No rule to make target

java - 如何使用 POM Selenium 从下拉列表中进行选择

java - 两台 Linux 计算机上的 Oracle jdbc 连接

java - 获取受影响的行数