Java 查看加密的数据库数据

Java 查看加密的数据库数据,java,sql-server,sql-server-2008,encryption,Java,Sql Server,Sql Server 2008,Encryption,我正在使用SQLServer2008存储一些加密信息。大约有5个数据库表具有包含加密数据的字段。 加密是使用Java在服务器端完成的。我的问题是,我们还需要查看/更新此加密信息。为了查看/更新数据库中的加密信息,我正在创建一个web应用程序,允许用户查看/更新数据库中的加密信息 例如,假设用户需要将新数据插入包含加密字段的数据库: 用户将能够在web应用程序中输入INSERT SQL查询 并让应用服务器解析查询 如果我找到一个需要加密的字段,那么我必须提取 使用Java对该明文值进行加密,然后修

我正在使用SQLServer2008存储一些加密信息。大约有5个数据库表具有包含加密数据的字段。 加密是使用Java在服务器端完成的。我的问题是,我们还需要查看/更新此加密信息。为了查看/更新数据库中的加密信息,我正在创建一个web应用程序,允许用户查看/更新数据库中的加密信息

例如,假设用户需要将新数据插入包含加密字段的数据库:

  • 用户将能够在web应用程序中输入INSERT SQL查询 并让应用服务器解析查询

  • 如果我找到一个需要加密的字段,那么我必须提取 使用Java对该明文值进行加密,然后修改 使用加密值进行查询

  • 对数据库执行修改后的INSERT查询

  • 现在解析SQL查询并修改它们将是一件痛苦的事情。我只是想知道有没有更简单的方法。以前有人这样做过吗?有什么工具可以促进这一点吗

    问题是数据库将安装在客户端站点上,因此我们必须加密数据库字段以保护知识产权。客户端可以完全访问其数据库,因此使用SQL Server内置加密不是一个好主意


    感谢您的建议。

    我建议不要使用web应用程序的直接sql语句输入,原因如下

  • 无数据验证(用户列上无数据类型帮助)
  • 输入sql输入错误中的用户错误(只能在jdbc execute上验证)
  • 更不用说,这不是最安全的方式
  • 如果使用表单路径,则需要为表添加/编辑表单,其中所有列都列为表单输入。您可以解决上述所有问题,还可以在每个列旁边添加复选框,使列的加密更具可配置性

    如果您仍然有直接sql的理由,我想您可以看看下面的这个线程,如果我是您,我会自己解析查询


    谁拥有数据库中的数据?客户端只拥有从应用程序生成的数据。它是一个人工智能应用程序,其配置存储在数据库中。如果客户端或任何人可以访问其配置,那么他们可以进行反向工程。我认为如果没有更多信息,就有点难以确定是否有更简单的解决方案。例如,为什么您的客户机必须输入SQL查询?(这本身就写满了“这里有龙”…)您所展示的似乎是一个您不喜欢的实现,而不是您需要解决的实际问题,可能还有其他实现。也许你可以详细说明一下你实际上需要做什么。