質問: SQL Serverの暗号化されたデータを.netから復号化する .NET内のSQL Server列に格納されているEncryptByCertで暗号化されたデータを復号することは可能ですか? 私は、ストアドストアに EncryptByCert.aspx) を使用したいRSA-encrpytedの値を列に格納するプロシージャ。その後、クライアントアプリケーションはSQL Serverに接続し、エンコードされたデータを要求し、証明書の秘密鍵でデコードする必要があります。これは可能ですか? 私は暗号化に関する深い知識は持っていません。だから私はこの質問をする。おそらくこれを行う良い例がありますか?
回答: SQL Serverはデータを一連のバイトに暗号化し、結果として返します。 **コンテナ形式はありません**。したがって、 `RSACryptoServiceProvider` によって直接復号化することができます。ここで重要なのは、SQL ServerはPKCS#1 V1.5のパディング(少なくとも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`.