从.net解密SQL Server加密数据

时间:2011-10-27 14:46:34

标签: .net sql-server-2005 cryptography

是否可以从.net中解密存储在SQL Server列中的EncryptByCert加密数据?

我想在存储过程中使用EncryptByCert来存储列中的RSA加密值。然后,客户端应用程序将连接到SQL Server并请求编码数据,然后需要使用证书的私钥进行解码。这可能吗?

我对加密知之甚少。这就是我问这个问题的原因。也许有一个很好的例子可以做到这一点?

1 个答案:

答案 0 :(得分:2)

SQL Server将数据加密为字节序列并将其作为结果返回。 没有使用容器格式。因此,它可以由RSACryptoServiceProvider直接解密。这里需要注意的是,SQL Server使用PKCS#1 V1.5填充(至少SQL Server 2005)。

有一点需要注意:
SQL Server按照RSACryptoServiceProvider的要求以相反的顺序返回加密结果。因此,在使用RSACryptoServiceProvider.Decrypt解密字节序列之前,必须将其反转。