前值有一个在我的表中的一个字段使用的LINQ to SQL解密填充物
ENCRYPTBYPASSPHRASE(<passphrase>,<value>)
当值放入领域仍然是加密,所以我不能做对象加密任何事情。我无法创建视图或存储过程或解密数据库字段的任何其他项目,因为这样就会破坏加密字段的目的。有没有办法使框架的工作运行如
DECRYPTBYPASSPHRASE(<passphrase>, <columnName>)
之前将值分配给对象?
现在我正在获取数据,然后调用ExecuteQuery来解密值。并在我的数据模型类的加密值上分配新值。它有效,但我只是想知道是否可以通过一些我不知道的选项自动完成。我试过搜索,但没有找到任何东西。
您将如何自动知道'passPhrase'和类型来转换清除'varbinary',或者您是否想要检索'byte []'? – Jodrell
我知道PassPhrase现在我得到解密的值调用ExecuteQuery像下面的东西。 –
我知道PassPhrase现在我得到解密的值调用ExecuteQuery与下面的东西。 “Select CAST(DECRYPTBYPASSPHRASE('{0}',{1})AS NVARCHAR(MAX))AS {2} FROM Table Whered PrimaryKey = {3}” 其中0 = phassphrase,1 =列,2 =返回列的名称,3 =我想解密的确切记录的关键字。所以我现在正在获取价值,只是需要我额外的一步,在数据从数据库填充到对象之后,我必须运行一个额外的查询来获取解密值。 –