RSACryptoServiceProvider.Decrypt Methode

Definitie

Ontsleutelt gegevens die eerder zijn versleuteld.

Overloads

Name Description
Decrypt(Byte[], Boolean)
Verouderd.

Ontsleutelt gegevens met het RSA algoritme.

Decrypt(Byte[], RSAEncryptionPadding)

Ontsleutelt gegevens die eerder met het RSA algoritme zijn versleuteld met behulp van de opgegeven opvulling.

Decrypt(Byte[], Boolean)

Bron:
RSACryptoServiceProvider.Unix.cs
Bron:
RSACryptoServiceProvider.Unix.cs
Bron:
RSACryptoServiceProvider.Unix.cs
Bron:
RSACryptoServiceProvider.Unix.cs
Bron:
RSACryptoServiceProvider.Unix.cs

Let op

RSACryptoServiceProvider.Encrypt and RSACryptoServiceProvider.Decrypt methods that take a Boolean are obsolete. Use the overload that accepts RSAEncryptionPadding instead.

Ontsleutelt gegevens met het RSA algoritme.

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()

Parameters

rgb
Byte[]

De gegevens die moeten worden ontsleuteld.

fOAEP
Boolean

true om directe RSA ontsleuteling uit te voeren met behulp van OAEP-opvulling; anders false moet u PKCS#1 v1.5 opvulling gebruiken.

Retouren

Byte[]

De ontsleutelde gegevens, de oorspronkelijke tekst zonder opmaak vóór versleuteling.

Kenmerken

Uitzonderingen

De cryptografische serviceprovider (CSP) kan niet worden verkregen.

– of –

De fOAEP parameter is true en de lengte van de rgb parameter is groter dan KeySize.

– of –

De sleutel komt niet overeen met de versleutelde gegevens. De uitzonderingsformulering is echter mogelijk niet juist. Het kan bijvoorbeeld zeggen Not enough storage is available to process this command.

rgb is null.

Voorbeelden

In het volgende codevoorbeeld worden gegevens versleuteld en ontsleuteld.

In dit voorbeeld wordt de ASCIIEncoding klasse gebruikt. De UnicodeEncoding klasse kan echter de voorkeur hebben bij grote gegevensbewerkingen. De versleutelde waarde kan worden opgeslagen als een nvarchar gegevenstype 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

Opmerkingen

Gebruik Encrypt deze methode om gegevens te versleutelen voor ontsleuteling.

Zie ook

Van toepassing op

Decrypt(Byte[], RSAEncryptionPadding)

Bron:
RSACryptoServiceProvider.Unix.cs
Bron:
RSACryptoServiceProvider.Unix.cs
Bron:
RSACryptoServiceProvider.Unix.cs
Bron:
RSACryptoServiceProvider.Unix.cs
Bron:
RSACryptoServiceProvider.Unix.cs

Ontsleutelt gegevens die eerder met het RSA algoritme zijn versleuteld met behulp van de opgegeven opvulling.

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()

Parameters

data
Byte[]

De gegevens die moeten worden ontsleuteld.

padding
RSAEncryptionPadding

De opvulling.

Retouren

Byte[]

De ontsleutelde gegevens.

Uitzonderingen

data is null.

– of –

padding is null.

De opvullingsmodus wordt niet ondersteund.

Opmerkingen

padding moet of RSAEncryptionPadding.Pkcs1 of RSAEncryptionPadding.OaepSHA1 zijn.

Van toepassing op