0

我想更新JTable没有AES_ENCRYPT可以更新和查看数据的数据,但是由于每次我尝试调用此方法时数据都是加密的,因此数据仍然是加密的。我该如何解决这个问题?

private void Update_Table(){



     try{
         String sql  = "SELECT ID, AES_DECRYPT(FirstName,  'uk112') "
           + "AS FirstName, AES_DECRYPT( MiddleName,  'uk112') "
           + "AS MiddleName, AES_DECRYPT(LastName,  'uk112') "
           + "AS LastName, 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";
   pst = conn.prepareStatement(sql);
   rs =pst.executeQuery(sql);
   CTable.setModel(DbUtils.resultSetToTableModel(rs));
   pst.close();
   rs.close();
  }
  catch(Exception e){
 JOptionPane.showMessageDialog(null, e);
  }   
  }

每当我尝试调用 Update_Table 方法以更新时,JTable就会发生这种情况

在此处输入图像描述

4

1 回答 1

1

它可能还没有加密。这是默认渲染器的预期输出。如此处所示结果是通过使用数组toString()调用产生的。byte在您的自定义渲染器中,您可以使用合适的构造函数将数组转换为 a String,但您需要指定数据库使用的相同编码。

于 2013-04-24T20:05:47.107 回答