SQl服务器中的对称密钥加密和C#中的解密

时间:2018-01-25 13:40:48

标签: c# sql-server encryption-symmetric

希望每个人都可以。 我使用SQL Server Symmetric Key加密功能创建了一个包含加密数据的列。我所做的工作如下:

CREATE MASTER KEY ENCRYPTION
BY PASSWORD = 'Test1'

CREATE CERTIFICATE EncryptTestCert
WITH SUBJECT = 'Test1'

CREATE SYMMETRIC KEY TestTableKey
WITH ALGORITHM = TRIPLE_DES ENCRYPTION
BY CERTIFICATE EncryptTestCert

CREATE SYMMETRIC KEY Test1
WITH ALGORITHM = TRIPLE_DES ENCRYPTION
BY CERTIFICATE EncryptTestCert

OPEN SYMMETRIC KEY TestTableKey DECRYPTION
BY CERTIFICATE EncryptTestCert
UPDATE [Security].[User]
SET EncryptedPhone = ENCRYPTBYKEY(KEY_GUID('TestTableKey'),Phone)

已成功更新加密数据的EncryptedPhone列(在varbinary中)。

现在的问题是,我在应用程序上使用LINQToSQL并且我使用内联Linq To SQL查询(不是存储过程或sql查询),我需要解密此数据以在页面上查看。从上面的数据库代码中可以看出,我使用TripleDES来创建加密数据。但是我无法理解如何在C#上实现通过SQL查询加密的解密数据。

0 个答案:

没有答案