فك تشفير SQL Server البيانات المشفرة من .net

هل من الممكن لفك تشفير البيانات EncryptByCert-encrypted التي يتم تخزينها في عمود SQL Server من داخل .net؟

أريد استخدام EncryptByCert في مخزن الإجراء لتخزين قيمة RSA-encrpyted في عمود. ثم سيقوم أحد تطبيقات العميل بالاتصال بـ SQL Server وطلب البيانات المشفرة ، ثم يحتاج إلى فك التشفير باستخدام المفتاح الخاص للشهادة. هل هذا ممكن؟

ليس لدي معرفة عميقة بالتشفير. لهذا السبب أطلب هذا السؤال. ربما هناك مثال جيد للقيام بذلك؟

1
أنا متأكد تماما أن هذا فك التشفير ممكن ، ولكن لم أجد أي تنسيق يستخدم من قبل EncryptByCert.
وأضاف المؤلف Paŭlo Ebermann, مصدر

1 إجابة

يقوم SQL Server بتشفير البيانات إلى تسلسل وحدات البايت وإرجاعها كنتيجة. هناك لا يوجد تنسيق حاوية مستخدم . لذلك ، يمكن فك تشفيرها مباشرة بواسطة RSACryptoServiceProvider . المهم ملاحظة هنا هو أن يستخدم SQL Server padding 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.

2
وأضاف