【发布时间】:2011-07-12 13:45:41
【问题描述】:
我正在使用 SQL Server 2008 来存储一些加密信息。大约有 5 个数据库表具有包含加密数据的字段。 加密是在服务器端使用 Java 完成的。我的问题是我们还需要查看/更新这些加密信息。为了查看/更新数据库中的加密信息,我正在创建一个 Web 应用程序,允许用户查看/更新数据库中的加密信息。
例如,假设用户需要将新数据插入到包含加密字段的数据库中:
用户将能够在 Web 应用程序中输入 INSERT SQL 查询 并让 App Server 解析查询。
如果我找到需要加密的字段,那么我必须提取 明文值,使用 Java 对其进行加密,然后修改 使用加密值查询。
对数据库执行修改后的 INSERT 查询。
现在解析 SQL 查询并修改它们会很痛苦。我只是想知道是否有更简单的方法可以做到这一点。有没有人这样做过?有什么工具可以促进这一点吗?
问题是数据库将安装在客户站点上,因此我们必须加密数据库字段以保护知识产权。客户端对其数据库具有完全访问权限,因此使用内置加密的 SQL Server 不是一个好主意。
任何建议表示赞赏。
【问题讨论】:
-
谁拥有数据库中的数据?
-
客户端只拥有应用程序生成的数据。它是一个人工智能应用程序,其配置存储在数据库中。如果客户或任何人有权访问其配置,那么他们可以进行逆向工程。
-
我认为如果没有更多信息,很难判断是否有更简单的解决方案。例如,为什么您的客户必须输入 SQL 查询? (这本身就写满了“这里是龙”...)您所呈现的似乎是您不喜欢的 实现,而不是您需要解决的实际问题解决,它可能有其他实现。也许您可以详细说明一下您实际上需要做什么。
标签: java sql-server sql-server-2008 encryption