在SQL服务器中加密并在客户端读取/解密

时间:2011-10-20 17:53:11

标签: c# sql-server-2005 encryption

我用sql编写:

CREATE SYMMETRIC KEY SecureSymmetricKey
    WITH ALGORITHM = TRIPLE_DES
    ENCRYPTION BY PASSWORD = 'StrongPassword';

DECLARE  @str NVARCHAR(1000)
SET @str = 'lala';

OPEN SYMMETRIC KEY SecureSymmetricKey
    DECRYPTION BY PASSWORD = 'StrongPassword';

DECLARE @encrypted_str VARBINARY(MAX)
SET @encrypted_str = 
          EncryptByKey(Key_GUID('SecureSymmetricKey'), @str);
  • 加密的字符串值现在在表格中。

如何在c#中阅读? (并用c#解密)

2 个答案:

答案 0 :(得分:5)

你没有在C#中“解密”它。在返回途中在选择语句中解密它。

答案 1 :(得分:1)

您需要在应用程序堆栈的同一层加密和解密;如果在SQL Server层加密,则需要在将数据返回到应用程序之前解密。

如果要在C#应用程序中解密它,则需要先在其中对其进行加密,然后将加密的值存储在数据库中。