RSACryptoServiceProvider.Decrypt Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Decrittografa i dati precedentemente crittografati.
Overload
| Nome | Descrizione |
|---|---|
| Decrypt(Byte[], Boolean) |
Obsoleti.
Decrittografa i dati con l'algoritmo RSA . |
| Decrypt(Byte[], RSAEncryptionPadding) |
Decrittografa i dati precedentemente crittografati con l'algoritmo RSA usando la spaziatura interna specificata. |
Decrypt(Byte[], Boolean)
- Origine:
- RSACryptoServiceProvider.Unix.cs
- Origine:
- RSACryptoServiceProvider.Unix.cs
- Origine:
- RSACryptoServiceProvider.Unix.cs
- Origine:
- RSACryptoServiceProvider.Unix.cs
- Origine:
- RSACryptoServiceProvider.Unix.cs
Attenzione
RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods that take a Boolean are obsolete. Use the overload that accepts RSAEncryptionPadding instead.
Decrittografa i dati con l'algoritmo RSA .
public:
cli::array <System::Byte> ^ Decrypt(cli::array <System::Byte> ^ rgb, bool fOAEP);
public byte[] Decrypt(byte[] rgb, bool fOAEP);
[System.Obsolete("RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods that take a Boolean are obsolete. Use the overload that accepts RSAEncryptionPadding instead.", DiagnosticId="SYSLIB0064", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public byte[] Decrypt(byte[] rgb, bool fOAEP);
override this.Decrypt : byte[] * bool -> byte[]
[<System.Obsolete("RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods that take a Boolean are obsolete. Use the overload that accepts RSAEncryptionPadding instead.", DiagnosticId="SYSLIB0064", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
override this.Decrypt : byte[] * bool -> byte[]
member this.Decrypt : byte[] * bool -> byte[]
Public Function Decrypt (rgb As Byte(), fOAEP As Boolean) As Byte()
Parametri
- rgb
- Byte[]
Dati da decrittografare.
- fOAEP
- Boolean
true per eseguire la decrittografia diretta RSA usando la spaziatura interna OAEP; in caso contrario, false per usare la spaziatura interna PKCS#1 v1.5.
Valori restituiti
Dati decrittografati, ovvero il testo normale originale prima della crittografia.
- Attributi
Eccezioni
Non è possibile acquisire il provider di servizi di crittografia.The cryptographic service provider (CSP) cannot be acquired.
oppure
Il fOAEP parametro è true e la lunghezza del rgb parametro è maggiore di KeySize.
oppure
La chiave non corrisponde ai dati crittografati. Tuttavia, la formulazione dell'eccezione potrebbe non essere accurata. Ad esempio, può dire Not enough storage is available to process this command.
rgb è null.
Esempio
L'esempio di codice seguente crittografa e decrittografa i dati.
In questo esempio viene usata la ASCIIEncoding classe . Tuttavia, la UnicodeEncoding classe può essere preferibile in operazioni di dati di grandi dimensioni. Il valore crittografato può essere salvato come tipo di dati nvarchar in Microsoft SQL Server.
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);
}
}
}
Imports System.Security.Cryptography
Imports System.Text
Module RSACSPExample
Sub Main()
Try
'Create a UnicodeEncoder to convert between byte array and string.
Dim ByteConverter As New ASCIIEncoding
Dim dataString As String = "Data to Encrypt"
'Create byte arrays to hold original, encrypted, and decrypted data.
Dim dataToEncrypt As Byte() = ByteConverter.GetBytes(dataString)
Dim encryptedData() As Byte
Dim decryptedData() As Byte
'Create a new instance of the RSACryptoServiceProvider class
' and automatically create a new key-pair.
Dim RSAalg As 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 e As CryptographicException
'Catch this exception in case the encryption did
'not succeed.
Console.WriteLine(e.Message)
End Try
End Sub
End Module
Commenti
Usare Encrypt per crittografare i dati per la decrittografia con questo metodo.
Vedi anche
Si applica a
Decrypt(Byte[], RSAEncryptionPadding)
- Origine:
- RSACryptoServiceProvider.Unix.cs
- Origine:
- RSACryptoServiceProvider.Unix.cs
- Origine:
- RSACryptoServiceProvider.Unix.cs
- Origine:
- RSACryptoServiceProvider.Unix.cs
- Origine:
- RSACryptoServiceProvider.Unix.cs
Decrittografa i dati precedentemente crittografati con l'algoritmo RSA usando la spaziatura interna specificata.
public:
override cli::array <System::Byte> ^ Decrypt(cli::array <System::Byte> ^ data, System::Security::Cryptography::RSAEncryptionPadding ^ padding);
public override byte[] Decrypt(byte[] data, System.Security.Cryptography.RSAEncryptionPadding padding);
override this.Decrypt : byte[] * System.Security.Cryptography.RSAEncryptionPadding -> byte[]
Public Overrides Function Decrypt (data As Byte(), padding As RSAEncryptionPadding) As Byte()
Parametri
- data
- Byte[]
Dati da decrittografare.
- padding
- RSAEncryptionPadding
Spaziatura interna.
Valori restituiti
Dati decrittografati.
Eccezioni
La modalità di riempimento non è supportata.
Commenti
padding deve essere RSAEncryptionPadding.Pkcs1 o RSAEncryptionPadding.OaepSHA1.