Megosztás a következőn keresztül:


System.Security.Cryptography.RSACryptoServiceProvider osztály

Ez a cikk kiegészítő megjegyzéseket tartalmaz az API referenciadokumentációjához.

A RSACryptoServiceProvider alapértelmezett implementációja RSAaz osztály.

A RSACryptoServiceProvider 384 bites és 16384 bites kulcsméreteket 8 bites lépésekben támogatja, ha telepítve van a Microsoft Enhanced Cryptographic Provider. 384 bittől 512 bitig, 8 bites lépésekben támogatja a kulcsméreteket, ha telepítve van a Microsoft Base titkosítási szolgáltató.

Az érvényes kulcsméretek a példány által RSACryptoServiceProvider használt titkosítási szolgáltatótól (CSP) függnek. A Windows CSP-k 384 és 16384 bites kulcsméreteket engedélyeznek a Windows 8.1 előtti Windows-verziókhoz, a Windows 8.1-hez pedig 512–16384 bites kulcsméreteket. További információ: CryptGenKey függvény a Windows dokumentációjában.

Együttműködés a Microsoft Cryptographic API-val (CAPI)

A nem felügyelt CAPI RSA-implementációtól eltérően az RSACryptoServiceProvider osztály megfordítja a titkosítás után és a visszafejtés előtt lévő bájtok titkosított tömbjének sorrendjét. Alapértelmezés szerint az RSACryptoServiceProvider osztály által titkosított adatokat a CAPI-függvény nem tudja visszafejteni, és a CAPI-módszerrel CryptDecryptCryptEncrypt titkosított adatokat az RSACryptoServiceProvider osztály nem tudja visszafejteni.

Ha nem kompenzálja a fordított sorrendet az API-k közötti működés során, az RSACryptoServiceProvider osztály egy CryptographicException.

A CAPI-val való együttműködéshez manuálisan vissza kell fordítania a titkosított bájtok sorrendjét, mielőtt a titkosított adatok egy másik API-val együttműködnek. A metódus meghívásával egyszerűen megfordíthatja a felügyelt bájttömbök sorrendjét Array.Reverse .