从 .net 解密 SQL Server 加密数据

发布于 2024-12-12 05:57:07 字数 308 浏览 0 评论 0原文

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

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

我对加密没有很深的了解。这就是我问这个问题的原因。也许有一个很好的例子可以做到这一点?

Is it possible to decrypt the EncryptByCert-encrypted data that is stored in a SQL Server column from within .net?

I want to use EncryptByCert in a stored procedure to store a value RSA-encrpyted in a column. Then a client application will connect to SQL Server and request the encoded data and then needs to decode with the private key of the certificate. Is this possible?

I don't have a profound knowledge of encryption. That's why I ask this question. Maybe there is a good example for doing this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雅心素梦 2024-12-19 05:57:07

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

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

SQL Server encrypts the data to a sequence of bytes and returns this as the result. There is no container format used. Therefore, It can directly be decrypted by the RSACryptoServiceProvider. Important to remark here is, that SQL Server uses PKCS #1 V1.5 padding (at least SQL Server 2005).

One thing to notice:
SQL server returns the encrypted result in reverse order as it is desired from RSACryptoServiceProvider. Therefore the byte sequence has to be reversed before decrypting it with RSACryptoServiceProvider.Decrypt.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文