前值有一個在我的表中的一個字段使用的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 =我想解密的確切記錄的關鍵字。所以我現在正在獲取價值,只是需要我額外的一步,在數據從數據庫填充到對象之後,我必須運行一個額外的查詢來獲取解密值。 –