Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo RSACryptoServiceProvider.Decrypt (Byte[], Boolean)

 

Data di pubblicazione: ottobre 2016

Decrittografa i dati con l'algoritmo RSA.

Spazio dei nomi:   System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

public byte[] Decrypt(
	byte[] rgb,
	bool fOAEP
)

Parametri

rgb
Type: System.Byte[]

Dati da decrittografare.

fOAEP
Type: System.Boolean

true per eseguire direttamente la decrittografia RSA con il riempimento OAEP (disponibile solo in un computer che esegue Microsoft Windows XP o versione successiva); in caso contrario, false per usare il riempimento PKCS #1 v 1.5.

Valore restituito

Type: System.Byte[]

Dati decrittografati, ovvero il testo normale originale prima della crittografia.

Exception Condition
CryptographicException

Non è possibile acquisire il provider del servizio di crittografia (CSP).

-oppure-

Il parametro fOAEP è true e la lunghezza del parametro rgb è maggiore di KeySize.

-oppure-

Il parametro fOAEP è true e OAEP non è supportato.

-oppure-

La chiave non corrisponde ai dati crittografati. Tuttavia, la formulazione dell'eccezione potrebbe non essere accurata. Ad esempio, potrebbe indicare Not enough storage is available to process this command.

ArgumentNullException

rgb è null.

Use M:System.Security.Cryptography.RSACryptoServiceProvider.Encrypt(System.Byte[],System.Boolean) to encrypt data for decryption with this method.

The following code example encrypts and decrypts data.

This example uses the T:System.Text.ASCIIEncoding class; however, the T:System.Text.UnicodeEncoding class may be preferable in large data operations. The encrypted value can be saved as an nvarchar data type in Microsoft SQL Server 2005.

using System;
using System.Security.Cryptography;
using System.Text;

class RSACSPSample
{
    static void Main()
    {
        try
        {
            //Create a UnicodeEncoder to convert between byte array and string.
            ASCIIEncoding ByteConverter = new ASCIIEncoding();

            string dataString = "Data to Encrypt";

            //Create byte arrays to hold original, encrypted, and decrypted data.
            byte[] dataToEncrypt = ByteConverter.GetBytes(dataString);
            byte[] encryptedData;
            byte[] decryptedData;

            //Create a new instance of the RSACryptoServiceProvider class 
            // and automatically create a new key-pair.
            RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider();

            //Display the origianl data to the console.
            Console.WriteLine("Original Data: {0}", dataString);

            //Encrypt the byte array and specify no OAEP padding.  
            //OAEP padding is only available on Microsoft Windows XP or
            //later.  
            encryptedData = RSAalg.Encrypt(dataToEncrypt, false);

            //Display the encrypted data to the console. 
            Console.WriteLine("Encrypted Data: {0}", ByteConverter.GetString(encryptedData));

            //Pass the data to ENCRYPT and boolean flag specifying 
            //no OAEP padding.
            decryptedData = RSAalg.Decrypt(encryptedData, false);

            //Display the decrypted plaintext to the console. 
            Console.WriteLine("Decrypted plaintext: {0}", ByteConverter.GetString(decryptedData));
        }
        catch(CryptographicException e)
        {
            //Catch this exception in case the encryption did
            //not succeed.
            Console.WriteLine(e.Message);

        }
    }
}

KeyContainerPermissionAccessEntryCollection

for permission to decrypt. Security action: F:System.Security.Permissions.SecurityAction.Demand. Associated enumeration: F:System.Security.Permissions.KeyContainerPermissionFlags.Decrypt

.NET Framework
Disponibile da 1.1
Windows Phone Silverlight
Disponibile da 7.1
Torna all'inizio
Mostra: