2010-10-22 81 views
1

有沒有一種方法來查詢從SQL Server(2005/2008)數據庫中使用DES通過.NET加密的數據時的列解密?如果是這樣,怎麼樣?我有密鑰,但不知道如何在sql server查詢的上下文中使用它。加密在SQL Server中的.NET /解密

+0

加密是在C#代碼中完成,然後寫入SQL,還是使用'EncryptByKey'完成?如果是前者,你可能會考慮轉向使用內置的SQL加密/解密。 – 2010-10-22 18:34:20

回答

3

我可能會考慮SQL Server中的creating a CLR function來處理這個解密。

您可以像使用SQL Server中的任何其他UDF一樣使用此函數按需解密。

這樣,它就像使用普通的.NET C#代碼一樣簡單,可以像處理應用程序一樣處理它。

+2

是的,我就是這麼做的。但是,您應該仔細考慮用例 - 是否絕對有必要在數據庫中解密,而不是在某些服務層中解密?一般來說,您必須通過密鑰的次數越少,漏洞覆蓋區越小。 – Dathan 2010-10-22 18:35:50

+0

不,這是與衛生保健相關的信息,單向哈希不會。我傾向於將服務層放在它上面,所以在這種情況下,我甚至不需要擔心SQL Server。 – Saraz 2010-10-22 18:51:13