通过LINQ进行非对称解密

时间:2012-02-06 23:29:01

标签: c# sql-server linq encryption

我在表中有一列通过SQL触发器进行了非对称加密。密钥(通过密码)驻留在SQL DB中。现在,我需要通过每隔xx分钟运行一次的控制台应用程序对其进行解密。

我通过LINQ抓取所有字段并运行foreach循环并生成一些文本文件和xml文件等等。当我尝试解密数据时会出现问题。

所以,我有几个选择,但没有人让我到任何地方。

  • 我尝试过运行ExecuteCommand,但我一开始就无法解决如何打开非对称密钥的问题。

  • 我尝试过运行存储过程,然后通过LINQ调用它。但是我可以遍历结果以匹配它们(即,我应该在foreach中运行foreach)吗?

  • 我尝试了12种不同的其他东西,但无济于事。 :)

无论如何,任何想法都会非常感激。我只需要获取未加密的值(我可以在MSSQL中解密它们)并将它们添加到我的工作流程中。

1 个答案:

答案 0 :(得分:0)

我可能会使用View,并将新的Linq实体绑定到该;假设你有SQL来解密这些值。通过这种方式,您可以防止往返服务器,只需在解密的表值上显示一个窗口。

但是,如果您希望能够通过相同的实体更新表;然后你不能。您必须通过表映射进行更改 - 使用ID选择要更新的正确实体。